Forum


Suchen Forum RSS RSS2 SuchenSuchen Mitgliederliste Mitgliederliste RegistrierenRegistrieren ProfilProfil Login


Info: Der Forenbetrieb wurde leider eingestellt.

Gehe zu: » Forum » PHP und MySQL » Problem mit INSERT INTO

Seite: 1 2 > >>

Thema
Autor
Problem mit INSERT INTO
Beitrag von micki am: 13.06.2009 12:07:05

Hi,
habe Problem mit INSERT INTO nach Wechsel auf Linux- Server.

Mein Script funzte bisher super doch jetzt kommen bei der Ausgabe folgende Fehlermeldungen und die Daten die ich über eine gesonderte html-Seite online erfasse werden nicht gespeichert:

Notice: Undefined variable: eintragscode in /var/www/vhosts/invormation.de/httpdocs/anlageangebot/anlageangebot-eintragen.php on line 51

usw.

Mein Script (wesentlicher Auszug):

<?php

error_reporting(E_ALL);

include_once("angebot-eintragen-dbconnect.php"); //Verbindung mit der Datenbank

$sql = "INSERT INTO angebot (eintragscode,headline,text,link,name,tel,email) VALUES ('$eintragscode','$headline','$text','$link','$name','$tel','$email')";

...

?>

html-Seite zur Daten-Erfassung (Auszug)

<form name="eingabe" method="post" action="angebot-eintragen.php">

<tr>
<td>Eintragscode (=10 Zeichen)
<br>
<input name="eintragscode" type="text">
<br>
</td>
</tr>

usw.
</form>

Gruss
Micki


micki
Benutzer

Beiträge: 57
OFF PN Schicken
AW: Problem mit INSERT INTO
Beitrag von PAS am: 14.06.2009 01:35:30

Hallo,

wie die Meldung schon besagt ist das kein Fehler sondern nur eine Notiz.
Diese bekommst du weg wenn du einfach error_reporting(E_ALL); rausnimmst.

Grüße Patrick


PAS
Administrator


Beiträge: 762
OFF PN Schicken Homepage
Problem besteht weiter
Beitrag von micki am: 14.06.2009 12:42:56

Das nutzt nichts, hatte ich schon probiert. Notiz erscheint weiter.

Das eigentliche Problem ist dass die Daten nicht gespeichert werden. s. mein 1. Eintrag

Micki


micki
Benutzer

Beiträge: 57
OFF PN Schicken
Lösung
Beitrag von micki am: 14.06.2009 15:04:42

Die Lösung ist wohl das Einfügen der Zeilen

$feldname = $_POST["feldname"];

im php-Script. Dann sind auch die Notices weg und die Frage bleibt "WIESO?". Brauchte ich vorher nie?!

<?php

error_reporting(E_ALL);

include_once("angebot-eintragen-dbconnect.php"); //Verbindung mit der Datenbank

$eintragscode = $_POST["eintragscode"];
$headline = $_POST["headline"];
$text = $_POST["text"];
//usw.

$sql = "INSERT INTO angebot (eintragscode,headline,text,link,name,tel,email) VALUES ('$eintragscode','$headline','$text','$link','$name','$tel','$email')";
...

?>


micki
Benutzer

Beiträge: 57
OFF PN Schicken
AW: Problem mit INSERT INTO
Beitrag von PAS am: 14.06.2009 17:02:26

Zitat:
Die Lösung ist wohl das Einfügen der Zeilen

$feldname = $_POST["feldname"];

im php-Script. Dann sind auch die Notices weg und die Frage bleibt "WIESO?". Brauchte ich vorher nie?!

?>


Hallo,

zunächst einmal ist es notwendig, da aus Sicherheitsgründen register_globals meist auf off gestellt ist, und somit ohne eine vorheriges setzen der Variable das ganze bei vielen Hostern nicht gehen würde.
--> Durch register_globals wird erreicht, das eben alle übergebenen Variablen auch als Variable vorhanden sind. Ist aber KEIN sauberer Programmierstil und auch unsicher. Die PHP Notiz besagt dann eben nichts weiteres, als das diese Variable nicht zuvor definiert ist....

Grundsätzlich würde ich dir auch empfehlen diese übergeben Werte erst mal auf Inhalte zu prüfen, um eine SQL-Injection zu vermeiden.

Grüße Patrick


PAS
Administrator


Beiträge: 762
OFF PN Schicken Homepage

Seite: 1 2 > >>



Statistik
Statistik
Es wurden insgesamt 3838 Beiträge geschrieben.
Wir haben 11053 registrierte Mitglieder.
Der neueste Benutzer ist Balu666 - Forum Beta³ - Bug melden