Was ist denn daran falsch???

Alles, was PHP betrifft, kann hier besprochen werden.

Was ist denn daran falsch???

Postby phpstefan » 10. May 2005 14:14

Was ist an diesem Script um Himmels Willen falsch???!!!
Code: Select all
<?
error_reporting(E_ALL);
include 'login_test.php';
$programmname = $_POST['programmname'];
$kategorie = $_POST['kategorie'];
$grosseaufgtr = $_POST['grosseaufgtr'];
$beschreibung = $_POST['beschreibung'];
$autor = $_POST['autor'];
$autor_IP = $_SERVER['REMOTE_ADDR'];
$autor_zeit = time();
$sql = "SELECT COUNT(*) AS all_programms FROM spiele WHERE spiel_name = '".$programmname."'";
$result = mysql_query($sql);
      while($row = mysql_fetch_assoc($result)) {
         if($row['all_programms'] > 0) {   
         echo "<p class=\"norm-text\">Leider existiert ein Spiel dieses Namens schon. Gebe bitte einen neuen Namen ein!</p><a href=\"javascript:history.back()\">zur&uuml;ck</a>";
         die();
         }
      }
mysql_free_result($result);
if($kategorie == "--bitte wählen--") {
         die("<p class=\"norm-text\">W&auml;hle bitte eine Kategorie f&uuml;r das Spiel!!!<br><a href=\"javascript:history.back()\">zur&uuml;ck</a></p>");
      }
if($kategorie == "Action-Spiel") {
         $kategorie = 1;
      }   
if($kategorie == "Strategie-Spiel") {
         $kategorie = 2;
      }   
if($kategorie == "Logik-Spiel") {
         $kategorie = 3;
      }
if($kategorie == "Rennspiel") {
         $kategorie = 4;
      }
if($kategorie == "Sonstiges") {
         $kategorie = 5;
      }

if($pfadprogramm == "") {
   die("<p class=\"norm-text\">Du hast keinen Pfad für das Spiel gew&auml;hlt. <br><a href=\"javascript:history.back()\">zur&uuml;ck</a></p>");
   }

if($grosseaufgtr == "") {
   die("<p class=\"norm-text\">Gebe bitte eine Gr&ouml;&szlig;e f&uuml;r das Spiel an!<br><a href=\"javascript:history.back()\">zur&uuml;ck</a></p>");
   }
   
if($autor == "") {
   die("<p class=\"norm-text\">Gebe bitte einen Autor ein!<br><a href=\"javascript:history.back()\">zur&uuml;ck</a></p>");
   }

if($beschreibung == "") {
   die("<p class=\"norm-text\">Gebe bitte eine Beschreibung f&uuml;r das Spiel ein!<br><a href=\"javascript:history.back()\">zur&uuml;ck</a></p>");
   }


//Spiel hochladen
$verzeichnis = "../spiele/".$programmname;
mkdir($verzeichnis, 0777);
$programmziel = "../spiele/".$programmname."/".$programmname.".zip";
copy($pfadprogramm, $programmziel);
$screenshotziel = "../spiele/".$programmname."/".$programmname.".gif";
$pfadprogrammmysql = "spiele/".$programmname."/".$programmname.".zip";
if($pfadscreenshot!== "") {
   copy($pfadscreenshot, $screenshotziel);
$pfadscreenshotmysql = "spiele/".$programmname."/".$programmname.".gif";
} else {
   $pfadscreenshotmysql = "";
   }
   
$sql = "INSERT INTO spiele(kategorie, spiel_name, link_spiel, link_screenshot, beschreibung, autor_IP, autor_zeit, autor, downloads, grosse) VALUES (".$kategorie.", '".$programmname."', '".$pfadprogrammmysql."', '".$pfadscreenshotmysql."', '".$beschreibung."', '".$_SERVER['REMOTE_ADDR']."', ".time().", '".$autor."', 0, ".$grosseaufgtr.")";
mysql_query($sql);
echo "<p class=\"norm-text\">Das Spiel wurde erfolgreich hinzugef&uuml;gt!<br>Klicke <a href=\"javascript:history.back()\">hier</a>, um zur&uuml;ck zu gelangen!</p>";
?>


Da kommt folgende Fehlermeldung:
Warning: copy(C:\Dokumente und Einstellungen\reichs.DUERER\Desktop\4 Gewinnt.zip): failed to open stream: No such file or directory in /usr/export/www/vhosts/funnetwork/hosting/reichs/casio-fun.de.vu/wwwneuneu/admin/newgame.php on line 64

Warning: copy(C:\Dokumente und Einstellungen\reichs.DUERER\Desktop\4 Gewinnt.gif): failed to open stream: No such file or directory in /usr/export/www/vhosts/funnetwork/hosting/reichs/casio-fun.de.vu/wwwneuneu/admin/newgame.php on line 68


Es wäre vielleicht auch gut, wenn ihr mir ein neues Script gebt!
phpstefan
 
Posts: 17
Joined: 30. October 2004 13:03
Location: Freiberg

Postby Wiedmann » 10. May 2005 14:31

Warning: copy(C:\Dokumente und Einstellungen\reichs.DUERER\Desktop\4 Gewinnt.zip): failed to open stream: No such file or directory in /usr/export/www/vhosts/funnetwork/hosting/reichs/casio-fun.de.vu/wwwneuneu/admin/newgame.php on line 64

Darf man fragen was du da kopieren wilst? Vor allem von wo nach wo...
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby PF4 » 10. May 2005 14:35

Hi,
da du uns aber wichtige Programmteile vorenthälst kann dir niemmand helfen.
Ich würde aber sagen das $pfadprogramm irgendwo falsch erstellt wird.
Warning: copy(C:\Dokumente und Einstellungen\reichs.DUERER\Desktop\4 Gewinnt.zip): failed to open stream: No such file or directory in /usr/export/www/vhosts/funnetwork/hosting/reichs/casio-fun.de.vu/wwwneuneu/admin/newgame.php on line 64

Also ist da ganz sicher was falsch, auf einem *nix System wird es kein c:.... geben.
"2 Dinge sind unendlich die Dummheit der Menschheit und das Universum , aber beim Universum bin ich mir noch nicht sicher“
Albert Einstein
PF4
 
Posts: 528
Joined: 10. March 2003 09:15

Postby phpstefan » 11. May 2005 12:34

Da gebe ich euch eben nochmal beide Scripte(achso: ich will ein Upload-Script machen, wo man im Admin-Bereich Taschenrechner-Programme in einem zip-Ordner auf den Server hochladen kann).

Hier also die Scripte:
online_programme.php(Eingabe der Daten):
Code: Select all
<html><head><title>Programme :: Admin-Bereich :: casio-fun.de.vu :: Spiele, Programme, Tutorials, uvm f&uuml;r deinen Casio-GTR</title><link href="CSS/css.css" rel="stylesheet" type="text/css"></head><body bgcolor="#ffff66">
<p class="ueberschrift6">Programme</p>
<p class="zwischenueberschrift4">Neues Programm hochladen:</p>
<form method="post" action="newprogramm.php">
<table>
<tr>
   <td class="norm-text">Programmname:&nbsp;<td><td class="norm-text"><input type="text" name="programmname" size="50"></td>
</tr>
<tr>
   <td class="norm-text">Kategorie:&nbsp;<td><td class="norm-text"><select name="kategorie"><option>--bitte wählen--</option><option>Mathe-Programm</option><option>Physik-Programm</option><option>Chemie-Programm</option><option>Nützliches</option><option>PC-Programm</option><option>Sonstiges</option></select></td>
</tr>
<tr>
   <td class="norm-text">Pfad des Programmes:&nbsp;<td><td class="norm-text"><input type="file" name="pfadprogramm" size="50"></td>
</tr>
<tr>
   <td class="norm-text">Pfad des Screenshot:&nbsp;<td><td class="norm-text"><input type="file" name="pfadscreenshot" size="50"></td>
</tr>
<tr>
   <td class="norm-text">Gr&ouml;&szlig;e auf GTR:&nbsp;<td><td class="norm-text"><input type="text" name="grosseaufgtr" size="50"></td>
</tr>
<tr>
   <td class="norm-text">Autor:&nbsp;<td><td class="norm-text"><input type="text" name="autor" size="50"></td>
</tr>
<tr>
   <td class="norm-text">Beschreibung:&nbsp;<td><td class="norm-text"><textarea cols="38" rows="8" name="beschreibung"></textarea></td>
</tr>
<tr>
   <td class="norm-text"><input type="reset" value="Formular l&ouml;schen"><td><td class="norm-text"><input type="submit" value="Programm uploaden" size="50"></td>
</tr>
</table></form>


</body></html>


newprogramm.php(Auswertung der Daten):
Code: Select all
<html><head><link href="CSS/css.css" rel="stylesheet" type="text/css"><title>Programm uploaden :: Admin-Bereich :: casio-fun.de.vu :: Spiele, Programme, Tutorials, uvm f&uuml;r deinen Casio-GTR</title></head><body bgcolor="#ffff66">
<p class="ueberschrift6">Programm uploaden</p>
<?
error_reporting(E_ALL);
include 'db_login.php';
$programmname = $_POST['programmname'];
$kategorie = $_POST['kategorie'];
$grosseaufgtr = $_POST['grosseaufgtr'];
$beschreibung = $_POST['beschreibung'];
$autor = $_POST['autor'];
$autor_IP = $_SERVER['REMOTE_ADDR'];
$autor_zeit = time();
$sql = "SELECT COUNT(*) AS all_programms FROM programme WHERE programm_name = '".$programmname."'";
$result = mysql_query($sql);
      while($row = mysql_fetch_assoc($result)) {
         if($row['all_programms'] > 0) {   
         echo "<p class=\"norm-text\">Leider existiert ein Programm dieses Namens schon. Gebe bitte einen neuen Namen ein!</p><a href=\"javascript:history.back()\">zur&uuml;ck</a>";
         die();
         }
      }
mysql_free_result($result);
if($kategorie == "--bitte wählen--") {
         die("<p class=\"norm-text\">W&auml;hle bitte eine Kategorie f&uuml;r das Programm!!!<br><a href=\"javascript:history.back()\">zur&uuml;ck</a></p>");
      }
if($kategorie == "Mathe-Programm") {
         $kategorie = 1;
      }   
if($kategorie == "Physik-Programm") {
         $kategorie = 2;
      }   
if($kategorie == "Chemie-Programm") {
         $kategorie = 3;
      }
if($kategorie == "Nützliches") {
         $kategorie = 4;
      }
if($kategorie == "PC-Programm") {
         $kategorie = 5;
      }
if($kategorie == "Sonstiges") {
         $kategorie = 6;
      }

if($pfadprogramm == "") {
   die("<p class=\"norm-text\">Du hast keinen Pfad für das Programm gew&auml;hlt. <br><a href=\"javascript:history.back()\">zur&uuml;ck</a></p>");
   }

if($grosseaufgtr == "") {
   die("<p class=\"norm-text\">Gebe bitte eine Gr&ouml;&szlig;e f&uuml;r das Programm an!<br><a href=\"javascript:history.back()\">zur&uuml;ck</a></p>");
   }
   
if($autor == "") {
   die("<p class=\"norm-text\">Gebe bitte einen Autor ein!<br><a href=\"javascript:history.back()\">zur&uuml;ck</a></p>");
   }

if($beschreibung == "") {
   die("<p class=\"norm-text\">Gebe bitte eine Beschreibung f&uuml;r das Programm ein!<br><a href=\"javascript:history.back()\">zur&uuml;ck</a></p>");
   }

//Programm hochladen
$verzeichnis = "../programme/".$programmname;
mkdir($verzeichnis, 0777);
$programmziel = "../programme/".$programmname."/".$programmname.".zip";
copy($pfadprogramm, $programmziel);
$screenshotziel = "../programme/".$programmname."/".$programmname.".gif";
$pfadprogrammmysql = "programme/".$programmname."/".$programmname.".zip";
if($pfadscreenshot!== "") {
   copy($pfadscreenshot, $screenshotziel);
$pfadscreenshotmysql = "programme/".$programmname."/".$programmname.".gif";
} else {
   $pfadscreenshotmysql = "";
   }
$sql = "INSERT INTO programme(kategorie, programm_name, link_programm, link_screenshot, beschreibung, autor_IP, autor_zeit, autor, downloads, grosse) VALUES (".$kategorie.", '".$programmname."', '".$pfadprogrammmysql."', '".$pfadscreenshotmysql."', '".$beschreibung."', '".$_SERVER['REMOTE_ADDR']."', ".time().", '".$autor."', 0, ".$grosseaufgtr.")";
mysql_query($sql);
echo "<p class=\"norm-text\">Das Programm wurde erfolgreich hinzugef&uuml;gt!<br>Klicke <a href=\"javascript:history.back()\">hier</a>, um zur&uuml;ck zu gelangen!</p>";


?>
</body></html>


Ich hoffe, ihr könnt mir nun weiter helfen.
phpstefan
 
Posts: 17
Joined: 30. October 2004 13:03
Location: Freiberg

Postby PF4 » 11. May 2005 12:51

Jo,
das script ist vom Konzept her falsch.
copy wird verwendet um Files vom upload_dir zum bestimmungsort zu kopieren und nicht vom Anwender auf der Platte zu dir auf den Server!
Kuk dir dazu mal das Array $_FILES an und lies dir nochmal genau durch wie ein Upload abläuft!

http://www.php-resource.de/manual.php?p ... ile-upload
"2 Dinge sind unendlich die Dummheit der Menschheit und das Universum , aber beim Universum bin ich mir noch nicht sicher“
Albert Einstein
PF4
 
Posts: 528
Joined: 10. March 2003 09:15


Return to PHP

Who is online

Users browsing this forum: No registered users and 40 guests