php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.06.2009, 12:58  
Ide
Neuer Benutzer
 
Registriert seit: 16.06.2009
Beiträge: 6
PHP-Kenntnisse:
Anfänger
Ide befindet sich auf einem aufstrebenden Ast
Standard formulardaten werden nicht an php-script übergeben

Hallo liebe Gemeinschaft,

ich habe jetzt wirklich keine Idee mehr,
ich versuche in einem ganz primitiven Beispiel
Daten eines Formulars mit methode post an ein php script zu übergeben,
das Folgescript wird noch erfolgreich aufgerufen und alle Anweisungen ausgeführt,
aber die Variablenwerte sind uns bleiben immer 0.

Beide Dateien stehen im /cgi-bin
an dem script kann eigentlich nichts falsch sein
Was gibt es denn da noch was man übersehen kann?

trotzdem noch mal das kurze Listing:

mein Formular test_form.php:

PHP-Code:
<title>Das erste PHP-Formular</title>
</
head>
<
body>
<
form action="/cgi-bin/test_zeig.php" method="post">
Geben Sie bitte ihre Emailadresse ein!
<
input type="text" name="email">
<
input type="submit" value="Go! ">
</
form>
</
body>
</
html
und mein Ausgabescript test_zeig.php:

PHP-Code:
<html>
<head>
<title>Das erste PHP-Formular</title>
</head>
<body>
<?php

echo "Hier müßte der Wert angezeigt werden: ";
echo 
"$email<br>";

?>
</body>
</html>
Ich würde mich über die Lösung meines Problems richtig freuen

Gruß
Ide
Ide ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 17.06.2009, 13:03  
Erfahrener Benutzer
 
Benutzerbild von Squall
 
Registriert seit: 19.03.2009
Beiträge: 539
PHP-Kenntnisse:
Fortgeschritten
Squall befindet sich auf einem aufstrebenden Ast
Standard

Probiers mal so
PHP-Code:
echo $_POST['email'] . "<br>"
Squall ist offline  
Alt 17.06.2009, 13:07  
Erfahrener Benutzer
 
Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse:
Fortgeschritten
rudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nett
Standard

Liegt die test_zeig.php wirklich in cgi-bin??

edit:
deswegen so ungläubig, weil ich noch nie gesehen habe, dass auf das Verzeichnis ein vhost läuft..
__________________
++++ Wieder einer ins Netz gegangen: Phishers Fritz zufrieden ++++
Blog

Geändert von rudygotya (17.06.2009 um 13:10 Uhr).
rudygotya ist offline  
Alt 17.06.2009, 13:12  
Ide
Neuer Benutzer
 
Registriert seit: 16.06.2009
Beiträge: 6
PHP-Kenntnisse:
Anfänger
Ide befindet sich auf einem aufstrebenden Ast
Standard

hab ich auch schon versucht
obwohl mir nicht ganz klar geworden ist was der Unterschied
zur klassischen Übergabe sein könnte.
Aber ich versuche seit zwei Tagen jeden erdenklichen Hinweis auszuwerten
und nix klappt, ich bin hier am Zweifeln meines gesunden Menschenverstandes.

Sicherheits halber habe ich das jetzt natürlich trotzdem noch mal versucht
und es geht nicht, kann es nicht auch an irgend einer blöden Serverseitigen Einstellung liegen?

Geändert von Ide (17.06.2009 um 13:19 Uhr).
Ide ist offline  
Alt 17.06.2009, 13:15  
Ide
Neuer Benutzer
 
Registriert seit: 16.06.2009
Beiträge: 6
PHP-Kenntnisse:
Anfänger
Ide befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von rudygotya Beitrag anzeigen
Liegt die test_zeig.php wirklich in cgi-bin??

edit:
deswegen so ungläubig, weil ich noch nie gesehen habe, dass auf das Verzeichnis ein vhost läuft..
ich verstehe jetzt zwar nicht ganz was du meinst,
aber es ist ein, in meinen Account vom Provider zur Verfügung gestelltes Verzeichnis.

in dem Verzeichnis habe ich auch schon *.pl skripte und die Funktionieren

und das test_zeig.php führt er ja auch aus, also er schreibt den Satz
den ich als Testausgabe eingefügt habe "Hier müßte..."

wo müßte ich den deiner Meinung nach die Dateien hischreiben?

Geändert von Ide (17.06.2009 um 13:19 Uhr).
Ide ist offline  
Alt 17.06.2009, 13:18  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Mach das mal aus dem cgi-bin raus und in einen normalen Ordner so rein:

PHP-Code:
<?php
if ( isset($_POST['email']) ) {
  echo 
'Email: ' $_POST['email'];
}
?>
<head>
<title>Das erste PHP-Formular</title>
</head>
<body>
<form action="" method="post">
Geben Sie bitte ihre Emailadresse ein!
<input type="text" name="email">
<input type="submit" value="Go! ">
</form>
</body>
</html>
Wolla ist offline  
Alt 17.06.2009, 13:22  
Erfahrener Benutzer
 
Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse:
Fortgeschritten
rudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nett
Standard

leg das script in das public/html/www Verzeichnis, da läuft dann auch der php interpreter.

*.pl:
Zitat:
Der Perl-Interpreter wird [...] über CGI oder FastCGI vom Webserver angesprochen oder ist direkt im Server eingebettet.
Zur Umsetzung beachte den Post von squall.
Zitat:
Im Zusammenhang mit globalen Variablen und unsicheren Serverkonfigurationen können Daten in ein Skript eingeschleust werden, indem etwa URL-Parameter gesetzt werden. Um diese Art von Manipulation zu verhindern, wird empfohlen, die Option register_globals=off in der PHP-Konfiguration zu setzen; was seit PHP 4.2 standardmäßig eingestellt ist. Ansonsten soll jede Variable vor der ersten Verwendung initialisiert werden.
__________________
++++ Wieder einer ins Netz gegangen: Phishers Fritz zufrieden ++++
Blog
rudygotya ist offline  
Alt 17.06.2009, 13:43  
Erfahrener Benutzer
 
Benutzerbild von Squall
 
Registriert seit: 19.03.2009
Beiträge: 539
PHP-Kenntnisse:
Fortgeschritten
Squall befindet sich auf einem aufstrebenden Ast
Standard

Teste mal folgendes:

ins form noch:

PHP-Code:
<input type="hidden" name="test" value="funzt" /> 
aufnehmen und im ausgabescript (vor dem <html>)

PHP-Code:
print '<pre>'print_r($_POST); print '</pre>'
schick mal das formular ab und schau dir mal an was das ergebnis ist. Wenn du dann noch keine lösung hast poste das ergebnis hier.
Squall ist offline  
Alt 17.06.2009, 18:35  
Ide
Neuer Benutzer
 
Registriert seit: 16.06.2009
Beiträge: 6
PHP-Kenntnisse:
Anfänger
Ide befindet sich auf einem aufstrebenden Ast
Standard

Okay Leute,

erst mal besten Dank für Eure Unterstützung,
ich bin damit auch einen Schritt weiter gekommen
und denke einiges dazu gelernt zu haben.

1. @rudy:
Ja, im cgi-Ordner hat es wohl nichts zu suchen,
ursprünglich hatte ich es auch außerhalb in einem eigenen Ordner,
aber nachdem es nicht funktioniert hat habe ich's ins cgi-bin verschoben
und da es dort exakt gleich behandelt wurde (also auch der Kontrollausdruck
des eigentlichen php-skriptes ausgegeben wurde) habe ich es "im Zweifelsfalle"
in dem cgi Ordner drin gelassen -> ein fataler Irrtum

2. @Sqall:
also, so wie ich es jetzt verstanden habe wurden aus Sicherheitsgründen
die Globalen Variablen abgeschafft und dafür eine art Umgebungsvariablen-Array
_POST eingeführt, das ausschließlich für die Übertragung von Formulardaten
genutzt wird?
Nachdem ich die PHP-Dateien wieder in den Ursprünglichen Ordner verschoben wurden
hat's sofort geklappt

3. @Wolla
was hätte uns Deine Abfrage geholfen?

<?php
if ( isset($_POST['email']) ) {
echo 'Email: ' . $_POST['email'];
}
?>

nur der check, ob 'email' definiert ist
und ich nur bei der Ausgabe einen Syntaxfehler gemacht habe?



Soweit, so gut, aber mühsam ernährt sich das Eichhörnchen,
denn eine Kleinigkeit funktioniert immer noch nicht.
Eigentlich ist es geplant die eingegebenen Daten einer Datenbank hinzuzufügen
und ich wollte die Variablen jetzt mit der _POST Methode benutzten
aber dabei bleibt er einfach hängen
also:

$dbanfrage = "INSERT into $tabelle values ($_POST['Data1'], $_POST['Data2'])";

wenn ich für die Variablen Konstanten einsetzte (z.B.
$dbanfrage = "INSERT into $tabelle values ('123', '234')";
dann funktioniert es.

muß ich die _POST-Geschichte für die Aktion noch mal anderen Variablen zuordnen?
oder könnte etwas bei der Typenkonvertierung nicht klappen,
da in der Datenbank UNSIGNED INT vereinbart sind?
Ide ist offline  
Alt 17.06.2009, 19:16  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Zitat:
3. @Wolla
was hätte uns Deine Abfrage geholfen?

<?php
if ( isset($_POST['email']) ) {
echo 'Email: ' . $_POST['email'];
}
?>

nur der check, ob 'email' definiert ist
und ich nur bei der Ausgabe einen Syntaxfehler gemacht habe?
Ganz genau! Und das macht auch Sinn! Denk mal drüber nach...


Zur DB z.B.:
PHP-Code:
$dbanfrage "INSERT INTO ".$tabelle." (Feld1,Feld2) VALUES ('";
$dbanfrage .= mysql_escape_string($_POST["Data1"])."','";
$dbanfrage .= mysql_escape_string($_POST["Data2"])."')"
Die Angabe von Feld1 und 2 kann man weglassen, wenn es eh nu die beiden gibt, aber ich persönlich würde es immer mit angeben.
Auch wenn es sich um Integer-Werte handelt, würde ich zur Sicherheit ALLE Werte, die in eine DB eingetragen werden sollen mindestens mit mysql_escape_string() filtern.
Arne Drews ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Firefox startet Script bei Timeout wieder neu Wolla PHP Tipps 2009 2 18.05.2009 18:07
[Erledigt] Objekt an Konstruktor übergeben hawkeye78 PHP Tipps 2009 7 28.02.2009 19:01
php script mit html script verbinden Bimbo-01 PHP Tipps 2009 2 21.02.2009 14:11
gleiches script triggern mit und ohne Variablenübergabe steve_2000 PHP Tipps 2008 2 04.12.2008 17:34
Upload Script bleibt einfach stehen SniperWolf PHP Tipps 2008 4 19.09.2008 19:39
script zum übergeben an eine textarea LP PHP Tipps 2006 6 21.09.2006 21:58
[Erledigt] Verzögerung durch included Script? Umgehen? PHP Tipps 2005-2 4 10.07.2005 19:26
[Erledigt] Relay Script PHP-Fortgeschrittene 11 01.06.2005 16:02
[Erledigt] Hilfe bei Download Verwaltungs Script PHP Tipps 2005 8 04.05.2005 10:29
Fehler bei Script, welches Ordner erstellt PsychoEagle PHP Tipps 2005 3 23.04.2005 16:03
PHP Variable an Java Script übergeben?? PHP Tipps 2005 5 07.04.2005 17:10
[Erledigt] Formulardaten in einer Session speichern, per Link übergeben PHP Tipps 2004-2 2 29.12.2004 15:47
PHP Script aus PHP aufrufen Stümper PHP Tipps 2004 5 26.09.2004 08:15
"das" Script oder "der" Script?? Simbo Off-Topic Diskussionen 31 16.09.2004 17:04

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
formulardaten werden nicht übergeben, formulardaten an php übergeben, php formulardaten übergeben, php formulardaten werden nicht übergeben, formulardaten übergeben php, formulardaten an php script übergeben, daten an php script übergeben, formulardaten an php , php formulardaten werden nicht übergeben post, php formulardaten nicht übergeben, daten aus berechnungsformular an email script übergeben, html formulardaten werden nicht übergeben, formular php oder cgi, html formular php übergeben, php formulardaten werden nicht mehr übergeben, php script formulardaten übergeben, formulardaten werden nicht übergeben post, formular an php übergeben, php formular daten übergeben, php script daten an datenbank übergeben

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum