if nur wenn Wert vorhanden ist

Godstyle

Erfahrenes Mitglied
hallo alle zusammen,

ein kleines problem für euch aber ein großes für mich ;)

so zuerst mal das script:

PHP:
if($useite == "herein")
   {
   $hers = $_GET["hersteller"];
   if ($herst == $herst){    /* in dieser zeile ist der fehler */
$Name= $_POST['hersteller'];


$sql = "INSERT hersteller (hersteller) VALUES ('$hersteller')";                      

  echo "Ihr Eintrag wurde hinzugefügt";

echo '<br/><a href="index.php?page=hersteller&kat=herein">zurück zur eingabe</a>.';

$result = mysql_query($sql) OR              
die("Query: <pre>".$sql."</pre>\n".                  
"Antwoertchen: ".mysql_error()); 
   }
   else {
   ?>
   <form name="hereint" action="index.php?page=hersteller&kat=herein" method="post">
   <input type="text" name="hersteller" />
   <input type="submit" value="senden" />
   </form>


es geht weiter und der fehler liegt an der markierten stelle.

Also, untem im script ist ein formular zu sehen. Dies soll zuerst erscheinen, da ja kein wert vorhanden ist, der in die DB eingetragen werden kann. Wenn ich nun einen wert eintrage und sende, soll er die bedingung if als erfüllt ansehen, mir sagen das der eintrag gespeichert wurde, und der link wo ich die seite wieder lade und das formular sehe.

Ich hoffe man konnte verstehen was ich wollte.

mfg Godstyle
 
PHP:
if(isset($_POST['hersteller']) && !empty($_POST['hersteller']))
{
    // DB Eintrag
    mysql_connect("host", "user", "pass") or die("Konnte Verbindung zur Datenbank nicht herstellen");
    mysql_select_db("datenbankname") or die("Konnte Datenbank nicht auswählen");

    // Gegen SQL-Injections absichern, siehe: http://de.wikipedia.org/wiki/SQL_Injection
    $hersteller= mysql_real_escape_string($_POST['hersteller']);

    $query = "INSERT INTO `hersteller` (`hersteller`) VALUES('{$hersteller}')";
    if(mysql_query($query))
    {
        echo "Alles ging glatt.";
    } else {
        echo "Ein Fehler beim Eintragen trat auf.";
    }
} else
{
    // Formular
}

Du schickst dein Formular per POST, also musst du auch im superglobalen Array $_POST schauen, ob ein Hersteller eingetragen wurde. Die Zeile if ($herst == $herst) ist mir gänzlich unverständlich, die liefert immer true, denn du prüfst da, ob eine Variable sich selbst entspricht, was natürlich immer der Fall ist…
 
Zuletzt bearbeitet:
Hi,

ich sehe nirgends, wo die abgefragte Variable $useite definiert wird.

Und achte in Deinen Beiträgen bitte auf die Groß-/Kleinschreibung, wie es laut Punkt 15 unserer Netiquette gewünscht wird. Vielen Dank.

LG

EDIT: mAu war schneller...
 
@mau
super genau das meinte ich, wieso kam ich nicht auf den befehl

naja, weil ich euch dann nicht hätte nerven können ;)

@ knuddel...

es ist auch nur ein ausschnitt aus dem script aber nun hat es ja eh geklappt dank euch

vielen dank.
Es klappt auch nun
 
mAu,

dein erster einfacher Hinweis war die löung meines problems.
Die DB wird ganz oben via include eingebunden, daher in meinem Ausschnitt nicht zu sehen.
Die Zeile, welche du als unsinnig empfindest, empfand ich genau so, denoch war der Fehler genau dort, als ich Sie durch dein isset ersetzt habe, hat das script sofort und Fehlerfrei funktioniert.

Die deklaration der variablen hat an anderer Stelle statt gefunden.

MFG
 
Zurück