WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 27.06.2010, 11:14   #1
Honk
Master
 
Registriert seit: 29.07.2000
Alter: 62
Beiträge: 694


Standard 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

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
____________________________________
Ich lebe über meine Verhältnisse aber unter meinem Niveau!
Honk ist offline   Mit Zitat antworten
Alt 27.06.2010, 12:16   #2
ZombyKillah
Trashtroll
 
Benutzerbild von ZombyKillah
 
Registriert seit: 19.10.2008
Ort: far away but still in austria
Beiträge: 1.194

Mein Computer

Standard

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];
____________________________________
It's more fun to write crap that nothing!
Just kidding.

Ich bin für kreative Rechtschreibung, da kann man keine Fehler machen
ZombyKillah ist offline   Mit Zitat antworten
Alt 27.06.2010, 13:39   #3
Honk
Master
 
Registriert seit: 29.07.2000
Alter: 62
Beiträge: 694


Standard

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
____________________________________
Ich lebe über meine Verhältnisse aber unter meinem Niveau!
Honk ist offline   Mit Zitat antworten
Alt 27.06.2010, 13:47   #4
ZombyKillah
Trashtroll
 
Benutzerbild von ZombyKillah
 
Registriert seit: 19.10.2008
Ort: far away but still in austria
Beiträge: 1.194

Mein Computer

Standard

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">
____________________________________
It's more fun to write crap that nothing!
Just kidding.

Ich bin für kreative Rechtschreibung, da kann man keine Fehler machen
ZombyKillah ist offline   Mit Zitat antworten
Alt 27.06.2010, 14:16   #5
Honk
Master
 
Registriert seit: 29.07.2000
Alter: 62
Beiträge: 694


Standard

Hi
Also im Header des Formulars bringt es nichts .... :-/
____________________________________
Ich lebe über meine Verhältnisse aber unter meinem Niveau!
Honk ist offline   Mit Zitat antworten
Alt 27.06.2010, 16:03   #6
Honk
Master
 
Registriert seit: 29.07.2000
Alter: 62
Beiträge: 694


Standard

Halt, doch .... jetzt gehts!!

Danke!!
____________________________________
Ich lebe über meine Verhältnisse aber unter meinem Niveau!
Honk ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:36 Uhr.


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