![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Master
![]() Registriert seit: 29.12.2001
Beiträge: 797
|
![]() hallo
kann mir mal jemand sagen warum mein script auf dem server fehlerfrei läuft http://mitglied.lycos.de/fenster1/guest/guestarti2.php und auf dem server nicht fehlerfrei läuft http://www.nightman.at/Fenster/guestarti/guestarti2.php gruß fenster |
![]() |
![]() |
![]() |
#2 |
Inventar
![]() |
![]() vermutlich ist es in PHP 3 geschrieben. auf nightman.at läuft aber die neueste 4.x version....
die 3er verlangt iirc keien variablendeklaration die 4 indes schon.... |
![]() |
![]() |
![]() |
#3 |
Master
![]() Registriert seit: 29.12.2001
Beiträge: 797
|
![]() hallo
was muss ich ändern ? hier ist mal der code Code:
<?php if($sent==1) { $t1=chr(10); $t2=chr(13); $name=str_replace('~','',$name); $betreff=str_replace('~','',$betreff); $message=str_replace('~','',$message); $name=trim($name); $betreff=trim($betreff); $message=trim($message); $name=strip_tags($name); $betreff=strip_tags($betreff); $message=strip_tags($message); If(!$name){$fehler="Bitte geben Sie einen Namen ein ";} If(!$betreff){$fehler=$fehler."Bitte geben Sie den Betreff an ";} If(!$message){$fehler=$fehler."Bitte geben Sie eine Nachricht ein ";} if($fehler){$fehler="<font color=red><h4>".$fehler."</h4></font>";} } if($name AND $betreff AND $message)//Formular wurde ausgefüllt { $message=str_replace($t1,' ',$message); $message=str_replace($t2,' ',$message); IF(file_exists('gast.txt')){$ausgabe="\n";} $comment=fopen('gast.txt','a'); $ausgabe=$ausgabe.$name."~".$betreff."~".$message; fputs($comment,$ausgabe); fclose($comment); $name=""; $betreff=""; $message=""; } ?> <html><head> <title>Gästebuch</title> </head><body> <h3>Unser Gästebuch</h3> <?php echo $fehler; ?> <form action='<?php echo $PHP_SELF; ?>' method='post'> <input type='hidden' name='sent' value=1> Ihr Name: <input type='text' name='name' size='30' value='<?php echo $name; ?>'> Betreff: <input type='text' name='betreff' size='30' value='<?php echo $betreff; ?>'> Ihre Nachricht: <textarea name='message' rows='10' cols='30'> <?php echo $message; ?> </textarea> <input type=submit value=abschicken> </form> <?php $eintrag=file('gast.txt'); $ausgabe=" "; $temp=count($eintrag)-1; for($i=$temp;$i>=0;$i--) { $element=explode('~',$eintrag[$i]); $ausgabe.="<table>"; $ausgabe.="<tr><td>".$element[1]."</td></tr>"; $ausgabe.="<tr><td>".$element[0]."</td></tr>"; $ausgabe.="<tr><td>".$element[2]."</td></tr>"; $ausgabe.="</table>"; } ?> <?php echo $ausgabe; ?> </body></html> gruß fenster |
![]() |
![]() |
![]() |
#4 |
Inventar
![]() |
![]() werden die vars mit POST oder MIT GET gesendet?
je nachdem musst du schreiben $name = $_POST['name_des_feldes_in_dem_name_steht']; btw $name = $_GET['name_des_feldes_in_dem_name_steht']; oder damit es bei beidem geht: $name = $_REQUEST['name_des_feldes_in_dem_name_steht']; das am anfang bei allen vars |
![]() |
![]() |
![]() |
#5 |
Master
![]() Registriert seit: 29.12.2001
Beiträge: 797
|
![]() hallo
sorry ich blick da noch nicht durch ??? also das formular wird mit post gesendet aber wo muss ich deine änderungen vornehmen ? gruß fenster |
![]() |
![]() |
![]() |
#6 |
Master
![]() |
![]() Es kommt auf die Einstellungen vom Server und PHP an... Bei dem einen Server funktioniert das:
seite: test.php?ausgabe=test <?php echo $ausgabe; ?> ...bei dem anderen nicht, da du die Variablen erst holen/"requesten" musst: seite: test.php?ausgabe=test <?php echo $_REQUEST['ausgabe']; ?> oder eben $_GET['ausgabe'] oder $_POST['ausgabe'] Das heißt, die Variable "ausgabe", die du in der URL oder im Formular, oder wo auch immer, mitlieferst, liegt nicht gleich in $ausgabe vor! ![]()
____________________________________
Lang ist der Weg durch Lehren, kurz und wirksam durch Beispiele. Lucius Annaeus Seneca ...:::www.modellbaulexikon.org:::... www.acrobat-se.org | www.ams-8c.de.vu |
![]() |
![]() |
![]() |
#7 |
Master
![]() Registriert seit: 29.12.2001
Beiträge: 797
|
![]() hallo
könnt ihr mir mal ein beispiel zeigen wie ich eine variable in meinem script umändern Muss ? damit ich das mal sehe gruß fenster |
![]() |
![]() |
![]() |
#8 |
Master
![]() |
![]() Ein bisschen selbst überlegen wär aber auch nicht schlecht
![]() EIN Beispiel kannst du haben: Dein Formular übergibt per Methode POST zuerst in der Variablen "sent" den Value "1". Im php-Teil schreibst du: if($sent==1) {... -> das geht beim einen Server, beim anderen nicht! WEIL: ...es, wie schon geschrieben, so heißen müsste: if($_POST['sent']==1) {... Und das machst du mit allen Variablen, die übergeben werden... Oder besser (für die Übersichtlichkeit): Du machst einfach am Anfang der Datei die Zuweisung für alle benötigten Variablen: $sent = $_POST['sent']; $... = $_POST['...']; Dann bleibt der Rest des Skriptes gleich.
____________________________________
Lang ist der Weg durch Lehren, kurz und wirksam durch Beispiele. Lucius Annaeus Seneca ...:::www.modellbaulexikon.org:::... www.acrobat-se.org | www.ams-8c.de.vu |
![]() |
![]() |
![]() |
#9 |
Inventar
![]() Registriert seit: 24.09.2001
Beiträge: 7.335
|
![]() Wie lang schrieben die PHP Heinis schon, dass sich der Zugriff auf die GET und POST Variablen ändert? Über ein Jahr?
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org . |
![]() |
![]() |
![]() |
#10 |
Inventar
![]() |
![]() Liege ich richtig dass sich bei der Änderung sicherheitstechnisch nachgearbeitet wurde?
Wenn ja, was hat sich verändert?
____________________________________
... back in business |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|