• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Datenbank eintrag funktioniert nicht

Henny

Neues Mitglied
Eintrag in Datenbank fehlgeschlagen

Hey Leute ,

ich hab ein Problem . Auf meiner Homepage ist eine Liste von Produkten , die auf einem MySQL Server gespeichert sind . Der User soll auf der Homepage die möglichkeit haben Produkte hinzuzufügen.

Doch das klappt nicht ganz... Wenn ich das Formular ausfülle und absende , zeigt er mir zwar an , dass ich das ganze eingetragen habe , aber passiert ist nichts . Ich kann die Produke nur direkt bei phpMySdmin eingeben und sie werden angeziegt. Über das Formular leider nicht.

Hier der Code

PHP:
<form name="" action="" method="GET" enctype="text/html">
<p>Hersteller:<br />
<input type="text" name="hersteller" value="" size="60" />
</p>

<p>Produkt:<br />
<input type="text" name="produkt" value="" size="60" />
</p>

<p>Barcode:<br />
<input type="text" name="barcode" value="" size="60"
</p>

<p>Ablaufdatum (in der Form YYYY-MM-DD):<br />
<input type="text" name="ablaufdatum" value="" size="10" />
</p>

<p>URLBild:<br />
<input type="text" name="url_bild" value="" size="60" />
</p>


<input type="hidden" name="aktion" value="speichern" />

<input type="Submit" name="" value="speichern" />
</form>

<?php

if ( $_GET['aktion'] == "speichern" )
{
    $hersteller     = $_GET['hersteller'];
    $produkt   = $_GET['produkt'];
    $barcode      = $_GET['barcode'];
    $ablaufdatum = $_GET['ablaufdatum'];
    $url_bild     = $_GET['url_bild'];
    $geo_long     = $_GET['geo_long'];
    $geo_lat      = $_GET['geo_lat'];

    $sql = "INSERT INTO produkte SET ";
    $sql .= " hersteller     = '$hersteller', ";
    $sql .= " produkt      = '$produkt', ";
    $sql .= " barcode      = '$barcode', ";
    $sql .= " ablaufdatum = '$abluafdatum', ";
    $sql .= " url_bild     = '$url_bild', ";
    $sql .= " geo_long     = '$geo_long', ";
    $sql .= " geo_lat      = '$geo_lat' ";

    // Zur Kontrolle lassen wir uns den zusammengebauten SQLBefehl
    // auf dem Bildschirm anzeigen
    echo "<hr />";
    echo "SQL: $sql";
    echo "<hr />";

    require_once ('konfiguration.php');
    $db_erg = mysql_query($sql)
        or die("Anfrage fehlgeschlagen: " . mysql_error());

    echo '<h1>Produkt wurde gespeichert</h1>';
    echo '<a href="index.php">Auflistung anzeigen</a>';
    exit;
}
?>

<form name="" action="" method="GET" enctype="text/html">
 
Zuletzt bearbeitet:
Du findest "passiert nichts" besser als "klappt nicht ganz"?

Debugge Dein Programm.
Wirft mysql_query() Fehler aus?
Lass Dir $sql ausgeben. Ist das Statement richtig? Funktioniert es, wenn Du es in phpMyAdmin ausführst (nutze Cut&Paste).

Wozu ist das zweite form-Tag am Ende des Script?
 
Wie meinen, Icy?

Er hat als Methode GET gewählt und wenn das action="" - Attribut leer ist, wird das Formular an die aktive Seite gesendet. Desweiteren hat er ein Formularfeld mit dem Namen "aktion" und dem Wert "speichern" definiert:
Code:
<input type="hidden" name="aktion" value="speichern" />

Bei der If-Abfrage sollte es also keine Probleme geben ;)

Mich würden jetzt auch die Fehler von mysql_error() interessieren, sollten welche geworfen werden!

Gruß
 
Zurück
Oben