Steffi: Eingabeformular - Problemchen

Beitrag lesen

Nein, wild rumzuraten hilft nie. Solange Du nicht verstehst, was vor sich geht, ganz besonders nicht.

Ich verstehe, daß es besser geht wenn ichs verstehe. Das mach ich auch ganz Gewissenhaft mit meiner Homepage. Manchmal möchte ich aber einfach nur experemtieren und ein bisschen rumraten. :-) So zum Beispiel mit den Datenbanken.

Es ist ja so, daß dieses Script, welches aus mehreren besteht, soweit funktioniert, nur dieses eine script funktioniert nicht und ich weiß nicht warum.

Kannst Du mal drüber schauen?

Es handelt sich um ein Bilder-Voting-System. Funktioniert auch alles, nur ich bekomme immer die Ausgabe: "Dein Bild konnte nicht hochgeladen werden..............

<?
  @include("config.php");
  @mysql_connect($db_server,$db_user,$db_password) or die("Datenbankverbindung fehlgeschlagen");
  @mysql_select_db($db_name) or die("Datenbankauswahl fehlgeschlagen");
  echo $header;
  echo "
          <form action="create_new.php" enctype="multipart/form-data" method="post">
            <table border="0" cellpadding="0" cellspacing="15" width="$img_width">
              <tr>
                <td colspan="2">";

if($_POST["submit"]){
    $file       = $_FILES["file"];
    $name       = $_POST["name"];
    $email      = $_POST["email"];
    $comment    = $_POST["comment"];
    $error      = false;
    $error_file = false;

if(strlen($name) < 3){
      $name = "<b>Mindestens drei Zeichen.</b>";
      $error = true;
    }

if(!ereg('[1]+@([-a-z0-9]+(.[-a-z0-9]+)*.[-a-z0-9]{2,6}|[[0-9]{1,3}(.[0-9]{1,3}){3}])$',$email)){
      $email = "<b>Muss gültig sein.</b>";
      $error = true;
    }

if($file == ""){
      $file       = "<b>Keine Datei ausgewählt.</b>";
      $error_file = true;
      $error      = true;
    }

if(strlen($comment) < 3){
      $comment = "<b>Mindestens drei Zeichen.</b>";
      $error   = true;
    }

if(!$error_file){
      $file_info = getimagesize($file["tmp_name"]);
      $file_size = filesize($file["tmp_name"]);

if($file_info[0] > $img_width){
        $message_width = "<b>{$file_info[0]} - Bild um ".($file_info[0] - $img_width)." Pixel zu breit.</b>";
        $error         = true;
      }
      else{
        $message_width = $file_info[0]." Pixel - OK";
      }

if($file_info[1] > $img_height){
        $message_height = "<b>{$file_info[1]} - Bild um ".($file_info[1] - $img_height)." Pixel zu hoch.</b>";
        $error          = true;
      }
      else{
        $message_height = $file_info[1]." Pixel - OK";
      }

if($file_info[2] != $img_format){
        $message_type = "<b>Bildformat muss $img_format_info sein.</b>";
        $error        = true;
      }
      else{
        $message_type = $img_format_info." - OK";
      }

if($file_size > $img_size){
        $message_size = "<b>".number_format($file_size/1024,0,",","")." - Datei um ".number_format(($file_size - $img_size) / 1024,0,",","")." KB zu groß.</b>";
        $error        = true;
      }
      else{
        $message_size = number_format($file_size/1024,0,",","")." KB - OK";
      }
    }

echo "&nbsp;</td>
              </tr>
              <tr>
                <td>Name:</td>
                <td>$name</td>
              </tr>
              <tr>
                <td>E-Mail-Adresse:</td>
                <td>$email</td>
              </tr>
              <tr>
                <td>Bilddatei:</td>";

if(!$error_file){
      echo "
                <td>&nbsp;</td>
              </tr>
              <tr>
                <td>&nbsp;&nbsp;&nbsp;- Breite:</td>
                <td>$message_width</td>
              </tr>
              <tr>
                <td>&nbsp;&nbsp;&nbsp;- Höhe:</td>
                <td>$message_height</td>
              </tr>
              <tr>
                <td>&nbsp;&nbsp;&nbsp;- Typ:</td>
                <td>$message_type</td>
              </tr>
              <tr>
                <td>&nbsp;&nbsp;&nbsp;- Größe:</td>
                <td>$message_size</td>
              </tr>";
    }
    else{
      echo "
                <td>{$file["name"]}</td>
              </tr>";
    }

echo "
              <tr>
                <td>Kommentar:</td>
                <td>$comment</td>
              </tr>";

$error_goback = "
              <tr>
                <td align="center" colspan="2">
                  <br><br>
                  <b>Dein Bild konnte nicht hochgeladen werden. Klicke <a href="JavaScript:history.back()">hier</a> um zum Formular zurückzukehren.</b>
                </td>
              </tr>";

if($error){
      echo $error_goback;
    }
    else{
      $row = mysql_fetch_array(mysql_query("SELECT id FROM $db_table_pictures ORDER BY id DESC LIMIT 0,1;"));
      $id  = $row["id"] + 1;

if(!(@copy($file["tmp_name"],dirname($_SERVER['PATH_TRANSLATED'])."/".$img.$id.$img_format_info))){
        echo $error_goback;
      }
      else{
        mysql_query("INSERT INTO ".$db_table_pictures." VALUES('$id','$name','$comment',0,0);");
        mail($email,"Vielen Dank für dein Bild bei $title!","Dein Bild wurde erfolgreich bei $title hochgeladen!\n\nBild ansehen:     {$url}index.php?show=$id\nTopliste ansehen: {$url}toplist.php\nBilder bewerten:  {$url}\nBild hochladen:   {$url}create_new.php","From: $webmaster <$webmaster>\n");
        mail($webmaster,"Neues Bild bei $title","Es wurde ein neues Bild bei $title hochgeladen.\n\nName:      $name\nE-Mail:    $email\nKommentar: $comment\n\nBild ansehen:     {$url}index.php?show=$id\nTopliste ansehen: {$url}toplist.php\nBilder bewerten:  {$url}\nBild hochladen:   {$url}create_new.php","From: $name <$email>\n");
        echo "
              <tr>
                <td align="center" colspan="2">
                  <br><br>
                  <b>Dein Bild wurde erfolgreich hochgeladen! Klicke <a href="index.php?show=$id">hier</a> um zur Bildbewertung zu gelangen.</b>
                </td>
              </tr>";
      }
    }

echo "
            </table>
          </form>";
  }
  else{
    echo "
                  Hier kannst du dein eigenes Bild hochladen und bewerten lassen.
                  <br><br>
                </td>
              </tr>
              <tr>
                <td>Dein Name:</td>
                <td><input maxlength="50" name="name" size="30" type="text"></td>
              </tr>
              <tr>
                <td>Deine E-Mail-Adresse:</td>
                <td><input name="email" size="30" type="text"></td>
              </tr>
              <tr>
                <td>Bilddatei wählen:</td>
                <td><input name="file" size="30" type="file"></td>
              </tr>
              <tr>
                <td valign="top">Kommentar:<br>(max. $comment_size Zeichen)</td>
                <td><textarea cols="70" name="comment" onkeyup="this.value=this.value.slice(0,$comment_size)" rows="6"></textarea></td>
              </tr>
              <tr>
                <td>&nbsp;</td>
                <td><input name="submit" type="submit" value="Bild hochladen & bewerten lassen"></td>
              </tr>
            </table>
          </form>";
  }

echo $footer;
  @mysql_close();
?>


  1. -^!#$%&'*+/=?`{|}~._a-z0-9 ↩︎