WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Online Formular > Problem bei Datenübermittlung (http://www.wcm.at/forum/showthread.php?t=239516)

Honk 27.06.2010 11:14

Online Formular > Problem bei Datenübermittlung
 
Hallo Leute
Ich habe ein Problem mit einem Formular, das mittels php Script daten in eine Datenbank schreiben soll.
Ich bekomme folgende Fehlermeldung:

Notice: Undefined variable: sport in /home/.sites/97/site853/web/test/php_dateien/send_at.php on line 9

+ 14 ähnliche Meldungen (für jedes Eingabefeld eine)


Notice: Undefined variable: sport in /home/.sites/97/site853/web/test/php_dateien/send_at.php on line 12

... und wieder + 14 ähnliche Meldungen (für jedes Eingabefeld eine)

Was mach ich falsch :confused:

Hier der Code des Skripts:

PHP-Code:

<?php
error_reporting
(E_ALL E_STRICT);
ini_set('display_errors'1);
 
$connect mysql_connect("mysqlsvr16.world4you.com","XXXX","XXX") or die ("Keine Verbindung möglich");
$db mysql_select_db("XXX") or die ("Die Datenbank existiert nicht");
$tabellenname="XXXX";
$sql="INSERT INTO $tabellenname (sport,vorname,name,strasse,ort,plz,jahr,geschlecht,verein,lizenz,uci,kategorie,kategorielauf,telefon,email) VALUES ('$sport','$vorname','$name','$strasse','$ort','$plz','$jahr','$geschlecht','$verein','$lizenz','$uci','$kategorie','$kategorielauf','$telefon','$email')";
if(
mysql_query($sql)) 
{echo 
"Danke für Ihre Anmeldung zur XXXXX<p> Folgende Daten wurden gespeichert!</b><p>"
echo 
"<b>Bewerb:</b> $sport<p><b>Vorname:</b> $vorname<p><b>Name:</b> $name<p><b>Strasse:</b> $strasse<p><b>Ort:</b> $ort<p><b>Postleitzahl:</b> $plz<p><b>Geburtsjahr:</b> $jahr<p><b>Geschlecht:</b> $geschlecht<p><b>Verein:</b> $verein<p><b>Lizenz:</b> $lizenz<p><b>UCI:</b> $uci<p><b>Kategorie-Rad:</b> $kategorie<p><b>Kategorie-Lauf:</b> $kategorielauf<p><b>Tel. Nr.:</b> $telefon<p><b>E-Mail Adresse:</b> $email<p>";
echo 
"Nennungen k&ouml;nnen nur akzeptiert werden, wenn das Nenngeld zeitgerecht VOR unserer Veranstaltung auf unserem
Konto eingelangt ist. <b>Einzahlungsbelege k&ouml;nnen als Nachweis NICHT anerkannt werden.</b> 
Auf den Einzahlungsbelegen ist der Name des FAHRERS / des LÄUFERS 
lesbar anzuf&uuml;hren!"
;}
else {
echo
"Ihre Daten konnten nicht gespeichert werden; bitte probieren sie es etwas später nocheinmal!!";}?>

Thx im Voraus für eure Hilfe; schönen Sonntag noch :)
Honk

ZombyKillah 27.06.2010 12:16

Hat mit der version von php zu tun.

In der Vergangenheit wurden die übergebenen Werte einfach mit ihren Variablennamen ansprechbar gemacht ...
Da dieses ein sehr hohes Sicherheitsrisiko darstellt wurde das geändert.
Es kann aber noch irgendwo umgestellt werden (glaub in der php.ini) GLOBAL irgendwas muss die Var heißen.

However,
ich empfehle dir den code einfach umzuschreiben:
Früher:
$sport
Heute:
$_POST['sport']
$_GET['sport']
Post wenn die Werte als POST übergeben werden.
Get wenn diese bei der URL übergeben werden.

Du kannst auch einen script schreiben, der diese Vars einfach initialisiert:
$getvals = array("sport", "name");
foreach ($getvals as $varname) $$varname=$_POST[$varname];

Honk 27.06.2010 13:39

Super Danke! Hat mich gleich einen großen Schritt weitergebracht.
Einziges Manko noch: die Umlaute (ö,ß,...) werden sowohl in der Bestätigung für den Teilnehmer als auch in der Datenbank "falsch" (z.B. Mödling für Mödling) dargestellt.

Wo kann / muss ich denn da noch drehen umd das zu ändern??

thx
Honk

ZombyKillah 27.06.2010 13:47

Bin mir nicht sicher wo der Fehler liegt ...
vermute beim auslesen der Variablen ... der Browser des Users schickt vermutlich in einen anderen Zeichencode wie ihn php interpretiert.

Hab dafür immer diese Zeile im html Header stehen:
<meta http-equiv="content-type" content="text/html; charset=latin1">

Honk 27.06.2010 14:16

Hi
Also im Header des Formulars bringt es nichts .... :-/

Honk 27.06.2010 16:03

Halt, doch .... jetzt gehts!!

Danke!!


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag