kostenloser Webspace werbefrei: lima-city


upload - bildid kann nicht ermittelt werden

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    skullsplitter

    skullsplitter hat kostenlosen Webspace.

    hallo

    ich schreibe ein kleines script, weil ich am montag einen test habe.
    mein problem ist, dass ich leider nicht die 1. id (also 1) aus der datenbank lesen kann...

    <?
    if(isset($_POST[\'senden\']))
    {
    	if($_FILES[\'file\'][\'type\'] == \"image/jpeg\" OR $_FILES[\'file\'][\'type\'] == \"image/jpg\")
    	{
    		mysql_connect(\"\", \"\", \"\") or die(mysql_error());
    		mysql_select_db(\"upload\") or die(mysql_error());
    		
    		$getID_query = mysql_query(\"SELECT MAX(id) FROM tblBilder\") or die(mysql_error());
    		$getID = mysql_fetch_array($getID_query) or die(mysql_error());
    				
    		$titel = $_POST[\'btitel\'];
    		$beschreibung = $_POST[\'bbeschreibung\'];
    		$size = $_FILES[\'file\'][\'size\'];
    		$name = $getID[0].\".jpg\";
    		
    		//in die Datenbank schreiben
    		$insert = mysql_query(\"INSERT INTO tblBilder ( `titel` , `name` , `beschreibung` , `size` )
    		VALUES ( \'$titel\' , \'$name\' , \'$beschreibung\' , \'$size\' )\");
    		
    		move_uploaded_file($_FILES[\'file\'][\'tmp_name\'], \"Bilder/\".$name);
    		
    		echo \'Upload erfolgreich<br>\';
    		echo \'<img src=\"Bilder/\'.$name.\'\">\';
    	}
    	else
    	{
    		echo \'Es dürfen nur JPG/JPEG Dateien hochgeladen werden.\';
    	}
    }
    
    ?>
    <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
    <html xmlns=\"http://www.w3.org/1999/xhtml\">
    <head>
    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />
    <title>Unbenanntes Dokument</title>
    </head>
    
    <body>
    <form action=\"upload_ohne.php\" method=\"post\" enctype=\"multipart/form-data\" name=\"form1\" id=\"form1\">
      Bildtitel: 
      <label>
      <input type=\"text\" name=\"btitel\" id=\"btitel\" />
      </label>
      <br />
    Beschreibung: 
    <label>
    <textarea name=\"bbeschreibung\" id=\"bbeschreibung\" cols=\"45\" rows=\"5\"></textarea>
    </label>
    <br />
    <br />
    <label>
    Bild auswählen: 
    <input type=\"file\" name=\"file\" id=\"file\" />
    </label>
    <br />
    <label>
    <input type=\"submit\" name=\"senden\" id=\"senden\" value=\"Senden\" />
    </label>
    <br />
    <label></label>
    </form>
    </body>
    </html>


    hier der code.

    in zeile 9 und 10 ($getID_query.... bzw $getID....) dort lese ich aus der datenbank mit SELECT MAX(bildID) from tblbilder ja den höchsten ID werd aus.

    jetzt ist das problem, dass wenn die datenbank leer ist, also das erste bild hochgeladen wird ist der wert NULL und dadurch wird kein name vergeben.

    weiß nicht ob es daran liegt, dass ich auf dem pc eine neuere version von xampp habe wie auf dem laptop - fakt ist, dass das script dort einwandfrei funktioniert und am pc nicht.

    wenn ich über den phpmyadmin den query ausführe kommt als werd NULL zurück.

    habe versucht mit einer if-abfrage diesen \"fehler\" abzufangen doch irgendwie haut das nicht hin.

    if($getID[0] < 0)
    		{
    			$getID[0] = 1;
    		}
    		echo $getID[0];


    doch dass schluckt er irgendwie nicht.

    kann mir wer da weiterhelfen bitte? :)

    danke

    gruß
    skull
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Wenn du mit MAX(id) die größte ID bestimmst, müsste dann $name = $getID[0].\".jpg\"; nicht um ein größer sein, also $name = $getID[0]+1.\".jpg\"; ?

    Zu deiner if-Abfrage:
    $getID[0] < 0 prüft nur, ob die ID kleiner 0 ist, aber nicht gleich 0. Ein <= sollte helfen.
  4. Autor dieses Themas

    skullsplitter

    skullsplitter hat kostenlosen Webspace.

    hallo joa :)

    hab aber jetzt ne bessere lösung gefunden.

    ich trage zuerst alles ein in die tabelle bis auf den namen. danach lasse ich mit mysql_insert_id die letzte id auslesen und bau mit der den namen zusammen lade das bild hoch (move...) und dann update ich die tabelle an der stelle, an der die id stimmt :)

  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!