Ein ARRAY speichern und abrufen

Ich dachte, wenn man ein Form wie dieses
mit eckiger Klammer, muss mann beim UPDATE immer [$i] schreiben
Aber $i existiert doch an dieser Stelle überhaupt nicht! Und wenn du
PHP:
error_reporting(E_ALL);
ini_set('display_errors', true);
am Anfang stehen hättest, wurde dir PHP das sogar verraten. Genau wie ein
PHP:
echo "Auftragsnummer: $auftragsnummer, Bild: $bild";
hinter der ersten Zuweisung.

Warum verweigerst du dich so standhaft richtig zu debuggen?
 
PHP:
<?php

error_reporting(E_ALL);
ini_set('display_errors', true);



session_start();
require_once("../inc/config.inc.php");
require_once("../inc/functions.inc.php");
require_once("../inc/system.inc.php");
require_once("../inc/header2.inc.php");

if(isset($_POST['speichern'])){
     $error = false;
     $userid = $_POST['userid'];
     $sicherheitscode = $_POST['sicherheitscode'];
     $auftragsnummer = $_POST['auftragsnummer'];
     $auftragsart = $_POST['auftragsart'];
     $auftragsvergabe = $_POST['auftragsvergabe'];
     $kurzbeschreibung = $_POST['kurzbeschreibung'];
     $beschreibung = $_POST['beschreibung'];
     $vorname = $_POST['vorname'];
     $nachname = $_POST['nachname'];

$statement = $pdo->prepare("INSERT INTO auftraege (userid, sicherheitscode, auftragsnummer, auftragsart, auftragsvergabe, kurzbeschreibung, beschreibung, vorname, nachname)
    VALUES (:userid, :sicherheitscode, :auftragsnummer, :auftragsart, :auftragsvergabe, :kurzbeschreibung, :beschreibung, :vorname, :nachname) ");
    $result = $statement->execute(array('userid' => $userid, 'sicherheitscode' => $sicherheitscode, 'auftragsnummer' => $auftragsnummer, 'auftragsart' => $auftragsart, 'auftragsvergabe' => $auftragsvergabe, 'kurzbeschreibung' => $kurzbeschreibung, 'beschreibung' => $beschreibung, 'vorname' => $vorname, 'nachname' => $nachname));
    }
    
    
    
    
    
$userid = $_SESSION['userid'];

$sql = "SELECT * FROM auftraege WHERE userid = $userid ORDER BY id DESC LIMIT 0,1";
$user = $pdo->query($sql)->fetch();

echo $user['bild'];

    // Funktionen definieren
    // -----------------------------------------------
    function checkUpload($myFILE, $file_extensions, $mime_types, $maxsize)
    {
        $errors = array
 
Ich habe
error_reporting(E_ALL);
ini_set('display_errors', true);

am Anfang stehen, aber es kommt keine Meldung !
In Posting #17 steht das nicht!

Und wenn du kein Warning angezeigt bekommt, vermute ich mal, dass dein PHP entweder das Umsetzen der Error-Reportings nicht zulässt oder die Ausgabe trotz ini_set blockiert. Denn in diese beiden Fällen
PHP:
$bild = $_POST['bild'][$i];  // Wo kommt hier $i her????
$auftragsnummer = $_POST['auftragsnummer'][$i]; // Wo kommt hier $i her????
Ist $i nicht vorhanden und das muss eine Notice-Meldung geben.

Letzter Versuch, debugge endlich richtig und schreibe unter diese beiden Zeilen
PHP:
echo "bild = $bild, auftragsnummer = $auftragsnummer, i = $i");

Aber auch das ändert nichts an der Tatsache, dass du den Wert von bild in der DB innerhalb der Schleife mehrfach überschreibst und somit immer nur ein Bildname in der Datenbank steht.

Und wenn ich schon dabei bin:
PHP:
$sql = "SELECT * FROM auftraege WHERE userid = $userid ORDER BY id DESC LIMIT 0,1";
16.14. Warum soll ich nicht SELECT * schreiben?
http://net.co.at/doc/howto/docs/dclp-faq/q/q-sql-select.html
 
kann es sein, dass es so heißen muss ? Fehlt da nicht die offene Klammer ?
PHP:
echo ("bild = $bild, auftragsnummer = $auftragsnummer, i = $i");
 
$i scheint ja offensichtlich nicht gesetzt zu sein, da stellt sich mir die Frage, wie dann
PHP:
$auftragsnummer = $_POST['auftragsnummer'][$i];
funktionieren kann. Und Fakt ist auch, dass das Error-Reporting, warum auch immer, nicht greift.
 
Sorry...
Ich habe aufgrund meiner zahlreichen Versuche
PHP:
$auftragsnummer = $_POST['auftragsnummer'][$i];
zu
PHP:
$auftragsnummer = $user['auftragsnummer'];
umgewandelt..

das mit dem
PHP:
 [$i] habe ich wahrscheinlich irgendwo mal aufgeschnappt.

Aber...
Wenn ich doch mehrere Daten in den gleichen Spaltennamen speichern möchte, muss ich doch
PHP:
<input type="submit" name="bild[]">
also nach dem Namen [] setzen, oder ??

Denn, wenn ich nur ein Bild speichere, und die eckigen Klammern weg lasse, speichert es mir ja richtig.
Aber ich möchte doch mehrere Bilder gleichzeitig abspeicher, allerdings in die vorhandene Zeile, wo auch die Auftragsnummer hervorgeht.
 
Zurück