Archiv verlassen und diese Seite im Standarddesign anzeigen : zu einfaches problem
hallo,
ich habe ein einfaches problem für dieses forum.
die lösung ist denkbar schwierig, denn ich bin blutuíger laie. mir die lösung zu erklären ist schwierig.
doch ich fange erst mal an:
php formmail formular funktioniert bei strato und auf linuxserver. unter win2000 aber nicht. volgende fehlermeldung wird ausgegeben:
Warning: Undefined variable: kamera in d:\Users\3002757324\menue\mail2.php on line 105das zu beheben ist wohl kein großes problem.
das problem ist folgendes, ich kann mit hinweisen zu forenbeiträge die dieses problem schon behandelt haben nichts anfangen. denn: blutiger anfänger.
bitte helft mir. ich brauche genaue anweisung an welcher stelle ich was einsetze. Ihr versteht??
hier ein teil des formulars:
manni
mrhappiness 19-05-2003, 20:01 mach ganz am anfang der datei, direkt hinter <?php folgendes: if (!isset($kamera)) $kamera='';
Vielleicht funktioniert ja aucherror_reporting(0);
gut gebrüllt.
verstehe bitte. habe das problem (in anderen Forum) tagelang gepostet. jedoch keinen annähernd qualifizierte antwort erhalten. deswegen große fresse.
jetzt habe ich eine qualifizierte antwort und bin glücklich ;-)
jetzt zum thema:
wenn ich also mehrere fehlermeldungen gleicher art für andere variablen dieser art bekomme, setze ich die problemsösung wie von dir beschrieben mit dem jeweiligen wert untereinander?
manni
Original geschrieben von manni
[...] setze ich die problemsösung wie von dir beschrieben mit dem jeweiligen wert untereinander?das kann man machen. du hast aber spätestens bei der email probleme. wenn die nicht da ist, kann auch nichts geschickt werden.
Original geschrieben von TobiaZ
benutze lieber $_POS verwirre ihn jetzt nicht :D auch wenn es besser wäre. aber mit T ;)
ich vertraue einfach der einzigen qualitativen aussage.
und die ist von: mrhappiness
manni
Original geschrieben von manni
ich vertraue einfach der einzigen qualitativen aussage.andere aussagen sind ebenso qualitativ. allerdings verstehst du sie (noch) nicht.
das mit $_POST dient eigentlich nur deinem interesse. denn wenn dein hoster das register_globals ausschaltet, so funktioniert dein script nicht mehr.
mrhappiness 19-05-2003, 22:01 ack
mein problem :
bitte helft mir. ich brauche genaue anweisung an welcher stelle ich was einsetze. Ihr versteht??
die antwort war $_POST.
ok, aber wohin? (ohne php geboren, wenig dazu gelernt
manni
also 'machen lassen'
ich schiebe dich mal nach 'Projekthilfe' rüber. *VERSCHIEB*
und hänge mal deinen zu ändernden code als ZIP -datei an deinen nächsten post an. vielleicht habe ich ja lust und ändere es dir... :p
mrhappiness 19-05-2003, 22:11 jede variable in php wird durch ein vorangestelltest dollarzeichen ( $ ) gekennzeichnet
was du jetzt tun musst ist:
schau dir die seite mit dem formular im browser an und hol dir dann den quelltext (Ansicht -> Quelltext) alles was zwischen <form und </form> steht sind die elemente deines formulars
diese elementa haben namen. beispiel<input type="text" name="kundennummer" />das was du im formular in dieses textfeld reinschreibst hast du bei php, das das formular verarbeitet in $kundennummer stehen.
du musst jetzt in dem skript $kundennummer durch $_POST['kundennummer'] ersetzen und ebenso alle anderen variablen die in dem skript verwendet werden und aus dem formular kommen
Damian1984 19-05-2003, 22:12 Hi,
du bestimmst ersteinmal alle deine Variablen so:
$kamera = $_POT['kamera'];
und die fogenden auch....
$var = $_POST['var'];
grüssleimmer bin ich zu langsam....
ich merke schon, ihr habt euch meiner angenommen.
allerdings ist die verwirrung jetzt grenzenlos.
deswegen eins der scripte im original.
vieleicht könnt ihr es gleich fetichmachen ;-)
[php]<?php
// copyright (c) 2002 by michael oeser
$name_tag[0] = "Sonntag";
$name_tag[1] = "Montag";
$name_tag[2] = "Dienstag";
$name_tag[3] = "Mittwoch";
$name_tag[4] = "Donnerstag";
$name_tag[5] = "Freitag";
$name_tag[6] = "Samstag";
$num_tag = date( "w");
$day = $name_tag[$num_tag];
$year = date("Y");
$day_num = date("d");
$month = date("m");
$time = (date("H:i"));
$
Damian1984 19-05-2003, 22:34 Alle Variablen die du an dieses Formular übergibst musst du mit $_POST['variablenname'] ersetzen, dann müsste es gehen :)
also die Variablen:
$anrede ersetzt du mit $_POST['anrede']
$name mit $_POST['name']
ect...
grüssle :)
@Damian1984
willst du sein script anpassen? ;)
oder soll ich das machen?
nur alle gleichzeitig ist ja doof.
Damian1984 19-05-2003, 22:47 also falls du noch nicht angefangen hast, ich mach mich jetzt dran :)
ich hatte auch noch nicht angefangen.
ok. dann mach du das. ;)
Damian1984 19-05-2003, 23:21 sodele, ich hoffe mal, dass das heir alles funtzt und dass ich nix übersehen hab ^^
hat n bissel gedauert, da mein dummes nero meinen PC automatisch heruntergefahren hat.... *GRUMMEL*
ahja hier der code ^^:
auf Wunsch von Manni gelöscht
sodele, ich hoffe mal, dass das heir alles funtzt und dass ich nix übersehen hab ^^leider doch ... ;)
Bezugstermin: ".$bezugstermin."
ca. kaufpreis: ".$ca_kaufpreis."
header ("Location: ".$redirect);
hat n bissel gedauert, da mein dummes nero meinen PC automatisch heruntergefahren hat.... *GRUMMEL*musst das häckchen auch nicht anmachen.. :Dok. das header ("Location: ".$redirect); nicht mehr. ich dachte erst, es wird auch übergeben... ;)
Damian1984 19-05-2003, 23:34 Original geschrieben von Abraxax
musst das häckchen auch nicht anmachen.. :Dok. das header ("Location: ".$redirect); nicht mehr. ich dachte erst, es wird auch übergeben... ;)
naja ich brenn jetzt grad die 15 CD heute, ich seh nur noch 100% und legen sie bitte eine leere CD-Rom ein... *gähn*
kann ich mehr als mich bedanken??
vielen dank
das war echt klasse
manni
Damian1984 19-05-2003, 23:37 nö musst du nicht, mir war grad sowieso langweilig :)
gehts wenigstens? :confused:
Original geschrieben von Damian1984
gehts wenigstens? :confused: so wie sein letzter post ist .... mit sicherheit -> JA :D
kann es erst ende der woche testen.
werde aber rückmeldung geben.
habe neben diesen fragen im forum auch dem entwickler (oechser) angemailt wg. problemlösung. entweder hat er sie oder auch nicht. wenn nicht, geb ich ihm die von euch ausgearbeitete. vieleicht kommt ja guter kontakt zustande.
bis dahin nochmal vielen dank
manni
Nu habt ihr manni das Skript repariert und niemand hat erwähnt, wieso und wie das funktioniert ... also nehm ich das mal in die Hand. :teach:
Seit der ersten PHP-Version landen Formulareingaben im als action angegebenen Skript in Variablen mit dem Namen des Formularfelds; soweit stimmte dein Skript auch. Für Cookie-Werte galt das gleiche.
Später wurden dann noch einige globale Arrays eingeführt; hier landen - unabhängig von den Einstellungen register_globals und variables_order (früher gpc_order) - die Eingaben aus Formularen mit method="post" ($HTTP_POST_VARS), Get-Parameter (aus Formularen mit method="get" oder direkt an die URI angehängte Parameter: $HTTP_GET_VARS) bzw. die Cookies, die für ein Skript erreichbar sind ($HTTP_COOKIE_VARS). Mit dem in PHP integrierten Session-Handling (php 4.0) kam dann noch $HTTP_SESSION_VARS dazu.
Seit php 4.1 ist die Einstellung register_globals, die die Registrierung der Werte als globale Variablen steuert, als Voreinstellung abgeschaltet; die Werte landen nur noch in den Arrays. Dafür wurden aber neue Superglobals eingeführt, die überall im Skript gültig sind - also nicht nur global sondern auch in jeder Funktion und in jeder Methode eines Objektes:
$_POST ist der Ersatz für $HTTP_POST_VARS, $_GET ersetzt $HTTP_GET_VARS usw.
Eine weitere neue Variable in dem Zusammenhang ist $HTTP_POST_FILES bzw. $_FILES; hier werden Daten über per post hochgeladene Dateien abgelegt.
|