kostenloser Webspace werbefrei: lima-city


Notice: Use of undefined constant identification

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    pantherstyle

    pantherstyle hat kostenlosen Webspace.

    Erneut hallo,
    leider heute innerhalb kurzer Zeit meine 2. Frage, aber hier mal mein neues Problem. Ich habe über den button + post Befehl eine Reihe Daten an das Formular selbst gesendet:

    //Sender
    <form action = "<?php echo $_SERVER['PHP_SELF'];?>" method = "post">
    
    //Empfänger
    if (isset($_POST['identification'])) {
    		echo $_POST[identification], $_POST[description], $_POST[on_error], $_POST[command], $_POST[dbh], $_POST[value1], $_POST[value2], $_POST[value3], $_POST[sql1], $_POST[sql2],  $_POST[sql3], $_POST[sql4], 'test' , 'dasdf';
    		$dbh->Insert($_POST[identification], $_POST[description], $_POST[on_error], $_POST[command], $_POST[dbh], $_POST[value1], $_POST[value2], $_POST[value3], $_POST[sql1], $_POST[sql2],  $_POST[sql3], $_POST[sql4], 'test' , 'dasdf')
    		or die ("Could not insert new dataset");
    	}
    
    //Erstellt ein Insert auf die Tabelle
    	function Insert($class, $modul,  $function , $notification ,$on_error,  $command, $value1, $value2 , $value3 , $value4 ,$sql1, $sql2, $sql3 , $sql4) {
    		$query = "INSERT INTO steuertabelle(`klasse` ,`modul` ,`funktion` ,`bemerkung` ,`on_error` ,`befehl` ,`wert1` ,`wert2` ,`wert3` ,`wert4`, `sql1` ,`sql2` ,`sql3` ,`sql4`)
    				VALUES ('$class',  '$modul',  '$function ',  '$notification',  '$on_error',  '$command',  '$value1', '$value2' , '$value3' , '$value4' ,  '$sql1', '$sql2', '$sql3' , '$sql4')";
    		$result = mysql_query($query) or die ("Anfrage konnte nicht uebertragen werden");
    	}

    Bei klick des submit Buttons:
    Notice: Use of undefined constant identification - assumed 'identification' in ...\PHPDatabaseEditor\Source\PHP\GUI\CommandEditor.htm on line 4

    wiederholt für alle anderen Parameter --> kein Eintrag in die DB Error:("Could not insert new dataset")

    Bei Aktualisierung der Seite (F5) wurde der Datensatz aber korrekt eingetragen. Demnach dürften die Parameter und die übergebenen Argumente in Ordnung sein, trotzdem bleibt die Fehlermeldung bestehen. woran kann das liegen=


    Ich hoffe, dass die Sache nicht zu komplex ist.
    Beste Grüße und Danke im Voraus!

    Beitrag zuletzt geändert: 7.3.2011 12:08:02 von tct
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Ersetze $_POST[Feldbezeichner} durch $_POST['Feldbezeichner'], dann ist die Notice Geschichte. :wink:

    FF
  4. Noch ein kleiner Hinweis zum Code. Manchmal gibts Probleme, so wies jetzt ist.

    //Sender
    <form action = "<?php echo $_SERVER['PHP_SELF'];?>" method = "post">
    
    //Empfänger
    if (isset($_POST['identification'])) {


    Vor //Empfänger fehlt die PHP-Klammer (<?php).
    Am Besten machst dus so:

    //Sender
    <?php
    echo '<form action = "'.$_SERVER['PHP_SELF'].'" method = "post">';
    
    //Empfänger
    if (isset($_POST['identification'])) {
    ..............................................................
    $result = mysql_query($query) or die ("Anfrage konnte nicht uebertragen werden");
    }
    ?>


    weil sonst wird der PHP Code eventuell nicht geparst. Zumindest auf anderen Servern als Lima. Speziell wenn das File .htm oder .html ist statt .php

    Gruss
    misc


    Beitrag zuletzt geändert: 7.3.2011 10:55:25 von misc
  5. Autor dieses Themas

    pantherstyle

    pantherstyle hat kostenlosen Webspace.

    Ein großes Dankeschön soweit,
    die notification Fehler haben sich jetzt vollständig aufgelöst, allerdings bricht er die Aktion scheinbar immernoch im "or die" Zweig ab. Dies widerspricht jedoch der Anzeige nach dem Aktualisieren, bei welcher sich der Datensatz in der Datenbank befindet, also erfolgreich übertragen wurde.

    Zu misc's Neuerung muss ich sagen, dass ich den Unterschied bis auf die etwas geänderte action-Anweisung nicht sehe und damit nicht verstehe ^^ Eine zusätzliche Erklärung währe also ganz nett.
  6. burgi

    Co-Admin Kostenloser Webspace von burgi

    burgi hat kostenlosen Webspace.

    Ist das Ergebnis das gleiche, wenn du den Code etwas umstellst?
    function Insert($class, $modul,  $function , $notification ,$on_error,  $command, $value1, $value2 , $value3 , $value4 ,$sql1, $sql2, $sql3 , $sql4) {
    		$query = "INSERT INTO steuertabelle(`klasse` ,`modul` ,`funktion` ,`bemerkung` ,`on_error` ,`befehl` ,`wert1` ,`wert2` ,`wert3` ,`wert4`, `sql1` ,`sql2` ,`sql3` ,`sql4`)
    				VALUES ('$class',  '$modul',  '$function ',  '$notification',  '$on_error',  '$command',  '$value1', '$value2' , '$value3' , '$value4' ,  '$sql1', '$sql2', '$sql3' , '$sql4')";
    		$result = mysql_query($query);
                    if (!$result) {die ("Anfrage konnte nicht uebertragen werden");}
    	}
  7. Autor dieses Themas

    pantherstyle

    pantherstyle hat kostenlosen Webspace.

    Ich habe Alle mir bekannten möglichen Anpassungen versucht, allerdings bleibt das Resultat dasselbe. Falls hier ein Problem auftauchen sollte würde hierzu ja die entsprechende andere Exception auftreten oder?
  8. kann es sein, das deine Insert Funktion auch ein wenig falsch ist? bzw. du sie falsch anwendest?
    Das sieht mir fast so aus, als würde deine Anzahl nicht ganz stimmen
  9. Autor dieses Themas

    pantherstyle

    pantherstyle hat kostenlosen Webspace.

    Das ist soweit richtig, da ich die Aufstellung momentan häufig geändert habe, bis auf die Anzahl der Parameter. Daher habe ich auch die "Defaultparameter" einfach eingetragen...
  10. Pantherstyle, wegen deiner Rückfrage.
    Alle PHP-Codes sollten in den speziellen PHP-Klammern

    <?php
    ?>

    geschrieben werden. Wenn man deinen Code anschaut sieht man, dass sich die unteren Blöcke nicht in einer solchen Klammer befinden. Das kann dazu führen dass PHP-Codes nicht ausgeführt werden. Woher soll der Server wissen was PHP ist und was HTML und CSS? Sehr unschön und ausserdem eine Sicherheitslücke.
    Insbesondere da deine Datei mit ".htm" endet kann dies ein Problem darstellen, bei ".php" wird alles geparst.

    Ich sage das nur weil es eine gute Angewohnheit ist und irgendwann wirst du vielleicht mal auf einen anderen Webhost zügeln und dich daran erinnern. Auch wenn lima mal ein Update macht könnte sich das Parser-Verhalten ändern.

    Gruss
    misc
  11. Autor dieses Themas

    pantherstyle

    pantherstyle hat kostenlosen Webspace.

    Den Fehler habe ich zum Glück nicht begangen, ich habe nur den relevanten Content posten wollen. Die nicht in Tags stehenden Codestücke befanden sich in einer Klasse die von den php Tags umringt ist.
  12. 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!