Ankündigung

Einklappen
Keine Ankündigung bisher.

Multiupload mit Db-eintrag longblob

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Multiupload mit Db-eintrag longblob

    Hallo Jungs, erstmal wünsche ich ein schönen abend.

    ich hab so'n kleines problem und zwar mit dem quellcode:

    sql/tabelle:
    Code:
    id | int(255) | auto_increment
    spiele_id | int(11)
    image | longblob | binary
    type | vachar(255)
    
    PIMARY | id
    INDEX | spiele_id


    addgame.php:
    Code:
    <form name="form1" method="post" action="addgame_ac.php" enctype="multipart/form-data">
    Code:
    <tr>
    <td><fieldset><legend><A class=flyout href="<? echo $basedir; ?>images/icon/weblink.jpg"><img class=tmbright src="<? echo $basedir; ?>images/icon/weblink.jpg" height="15" border="0"></a>&nbsp;<font size="1">Gallerie</legend></fieldset></td>
    <td><legend><font size="1">:</legend></td>
    <td><fieldset><legend><img src="<? echo $basedir; ?>images/icon/cam4.png" height="15">&nbsp;<font size="1">Gallerie</font>&nbsp;</legend>
    
    <input type="file" name="img[]" size="40">
    <input type="file" name="img[]" size="40">
    <input type="file" name="img[]" size="40">
    <input type="file" name="img[]" size="40">
    <input type="file" name="img[]" size="40">
    <input type="file" name="img[]" size="40">
    
    </fieldset></td>
    </tr>
    addgame_ac.php:
    PHP-Code:
    <?
    include("include/logincheck.php");
    include("include/config.php");
    include("include/db.php");

    // Get values from form
    $spielname = mysql_real_escape_string($_POST['spielname']);
    $entwickler = mysql_real_escape_string($_POST['entwickler']);
    $kategorie = mysql_real_escape_string($_POST['kategorie']);
    $rel1 = mysql_real_escape_string($_POST['rel1']);
    $rel2 = mysql_real_escape_string($_POST['rel2']);
    $rel3 = mysql_real_escape_string($_POST['rel3']);
    $genre = mysql_real_escape_string($_POST['genre']);
    $sprache = mysql_real_escape_string($_POST['sprache']);
    $usk = mysql_real_escape_string($_POST['usk']);
    $system = mysql_real_escape_string($_POST['system']);
    $prozessor = mysql_real_escape_string($_POST['prozessor']);
    $prozessorbez = mysql_real_escape_string($_POST['prozessorbez']);
    $prozessorcore = mysql_real_escape_string($_POST['prozessorcore']);
    $prozessorbez_amd = mysql_real_escape_string($_POST['prozessorbez_amd']);
    $ram = mysql_real_escape_string($_POST['ram']);
    $grafikkarte = mysql_real_escape_string($_POST['grafikkarte']);
    $grafikram = mysql_real_escape_string($_POST['grafikram']);
    $speicherplatz = mysql_real_escape_string($_POST['speicherplatz']);
    $speicherbezeichnung = mysql_real_escape_string($_POST['speicherbezeichnung']);
    $spielbeschreibung = mysql_real_escape_string($_POST['spielbeschreibung']);
    $gamelogo = mysql_real_escape_string($_POST['gamelogo']);
    $spielvideo = mysql_real_escape_string($_POST['spielvideo']);

    // Insert data into mysql
    //$sql="INSERT INTO ".$prefix."spiele(spielname, entwickler, kategorie, rel1, rel2, rel3, genre, sprache, usk, system, prozessor, prozessorbez, prozessorcore, prozessorbez_amd, ram, grafikkarte, grafikram, speicherplatz, speicherbezeichnung, spielbeschreibung, gamelogo, gal1,galtype1, gal2,galtype2, gal3,galtype3, gal4,galtype4, gal5,galtype5, gal6,galtype6, spielvideo, gameeinsteller, einsteller_date)VALUES('$spielname', '$entwickler', '$kategorie', '$rel1', '$rel2', '$rel3', '$genre', '$sprache', '$usk', '$system', '$prozessor', '$prozessorbez', '$prozessorcore', '$prozessorbez_amd', '$ram', '$grafikkarte', '$grafikram', '$speicherplatz', '$speicherbezeichnung', '$spielbeschreibung', '$gamelogo', '$data', '$type', '$data', '$type', '$data', '$type', '$data', '$type', '$data', '$type', '$data', '$type', '$spielvideo', '$_SESSION[user_nickname]', '".time()."')";
    $sql="INSERT INTO ".$prefix."spiele(spielname, entwickler, kategorie, rel1, rel2, rel3, genre, sprache, usk, system, prozessor, prozessorbez, prozessorcore, prozessorbez_amd, ram, grafikkarte, grafikram, speicherplatz, speicherbezeichnung, spielbeschreibung, gamelogo, spielvideo, gameeinsteller, einsteller_date)VALUES('$spielname', '$entwickler', '$kategorie', '$rel1', '$rel2', '$rel3', '$genre', '$sprache', '$usk', '$system', '$prozessor', '$prozessorbez', '$prozessorcore', '$prozessorbez_amd', '$ram', '$grafikkarte', '$grafikram', '$speicherplatz', '$speicherbezeichnung', '$spielbeschreibung', '$gamelogo', '$spielvideo', '$_SESSION[user_nickname]', '".time()."')";
    $result=mysql_query($sql);

    // oberhalb der Insert für die spiele Tabelle

    $spiele_id = mysql_insert_id();

    if(is_array($_FILES['img'])) {
        foreach($_FILES['img']['name'] as $key=>$pic) {
            if($pic != "") {
                $tmpname = $_FILES['img']['tmp_name'][$key];
                $type = $_FILES['img']['type'][$key];
                $hndFile = fopen($tmpname, "r");
                $data = addslashes(fread($hndFile, filesize($tmpname)));

                mysql_query("INSERT INTO ".$prefix."spiele_bilder ('spiele_id', 'image', 'type') VALUES (".$spiele_id.", '".$data."', '".$type."')");


            }
        }
    }


    // folgend die Mitteilung an die Benutzer

    $query_user = mysql_query("SELECT Nickname FROM ".$prefix."benutzerdaten");
    while($fetch_user = mysql_fetch_array($query_user))
    {
    $Nickname = $fetch_user['Nickname']; // in Nickname steht in jedem Schleifendurchlauf der jeweilige Nutername
    $sql="INSERT INTO ".$prefix."nachrichten (nachrichten_von, nachrichten_an, nachrichten_subject, nachrichten_text, Rang, Foto, nachrichten_zeit)VALUES('System', '".$Nickname."' ,'neues Game', 'es wurde ein neues Spiel: <font color=red>$spielname</font> eingetragen, <br /> in der Kategorie: <font color=red>$kategorie</font><br /><hr />schau es dir gleich mal an, vielleicht ist es ja was für dich...', 'System', 'images/system.png', '".time()."')";
    $result=mysql_query($sql);
    }
    ?>



    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

    <html>
    <head>
    also folgendes, über die addgame.php kann man ein formular ausfüllen.
    ala Spielname, ersteller, verleger, release etc.
    weiter unten wollte ich nun, dass man Bilder/Fotos von der Festplatte auswählen und hochladen kann (addgame.php).

    was dann in der addgame_ac.php verarbeitet wird....
    leider aber funktioniert der mittlere Quellcode nicht so wie er soll und ich weiss nicht warum?

    er soll die id (also: "spiele_id") von dem Spiel was in dem Insert weiter oben eingetragen wird in die Tabelle ".$prefix."spiele_bilder eintragen.

    macht er aber nicht.
    ich habe mit error_reporting(E_ALL); dies noch einmal versucht und dann kommt folgendes:

    Code:
    Warning: Invalid argument supplied for foreach() in ...\addgame_ac.php on line 46
    dies wäre dann:
    PHP-Code:
    foreach($_FILES['img']['name'] as $key=>$pic) { 
    die bilder werden dann in der datenbank gespeichert.

    sicherlich sagt der eine oder andere auch lade die bilder doch hoch und speichere nur den pfahd in der datenbank.

    gerne, wenn ich wüsste wie ^^
    leider gibt es zu multiuploads+datenbankeintrag so gut wie nix im netz.

    ich hoffe ich dab das soweit verständlich beschrieben so dass man es nachvollziehen kann was ich möchte.

    danke für die mühe.
    lg


  • #2
    Zitat von rews Beitrag anzeigen
    ich habe mit error_reporting(E_ALL); dies noch einmal versucht und dann kommt folgendes:

    Code:
    Warning: Invalid argument supplied for foreach() in ...\addgame_ac.php on line 46
    Ja dann schau dir halt den Typ der Variablen an, in dem du eine Kontrollausgabe mittels var_dump machst ... Mensch, das ist absolut grundlegendstes Debugging.

    sicherlich sagt der eine oder andere auch lade die bilder doch hoch und speichere nur den pfahd in der datenbank.
    Ja, natürlich, das ist im Normalfall die deutlich vernünftigere Lösung.

    gerne, wenn ich wüsste wie ^^
    Wenn du dazu eine konkrete Frage stellen willst - mach das.

    Aber vorher beachten: http://www.php.de/php-einsteiger/489...rundlagen.html

    Kommentar


    • #3
      Wenn du dazu eine konkrete Frage stellen willst - mach das.
      Jetzt wollen wir doch nicht zu später Stunde so gemein sein. Ich finde ein Hinweis auf [MAN]move_uploaded_file[/MAN] kann man ruhig geben
      sigpic

      Kommentar


      • #4
        Und es ist auch nicht so dass man bei Google nichts über die PHP-Upload-Funktionen findet .... Klick mich

        Kommentar


        • #5
          Zitat von Ind3X Beitrag anzeigen
          Und es ist auch nicht so dass man bei Google nichts über die PHP-Upload-Funktionen findet .... Klick mich
          Stimmt... absolut nichts zu finden zum Thema PHP und upload
          Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

          Kommentar


          • #6
            Und es ist auch nicht so dass man bei Google nichts über die PHP-Upload-Funktionen findet
            ach was.... ich habe auch was von Multiupload+eintrag geschrieben.

            Mensch, das ist absolut grundlegendstes Debugging.
            sorry kanns halt noch nicht....
            schau mir halt mal die grundlagen an...
            ob ich dann weiss warum das nicht geht und wie ich den multiupload mit dbeintrag erstelle is die andere frage.

            trotzdem danke

            Kommentar

            Lädt...
            X