[GastForen Archiv Adobe GoLive Formularproblem

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Archiv - Archivierte Foren
Themen
Beiträge
Moderatoren
Letzter Beitrag

Formularproblem

bine
Beiträge gesamt:

4. Jul 2005, 13:22
Beitrag # 1 von 14
Bewertung:
(3375 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
ich weiß über Formulare wurde hier schon viel geschrieben, aber ich komme bei meinem wirklich nicht weiter.

Verwendet habe ich das kons.php aus http://gltipps.de/pages/tipps/tipp26.html
habe auch alles wie in der Anleitung gemacht.
Und hier mein angepasstes und "nicht funktionierendes" Script:



<?

if ($name!="" AND $email!="" AND $subject!="" ) {

$more = "From: ben-marketing@web.de\r\nReturn-Path: ben-marketing@web.de\r\nContent-Type:text";

$body="Vorname: $vorname
Nachname: $name
Strasse: $strasse
PLZ/Ort: $wohnort
Email: $email
Betrifft: $subject";


mail("ben-marketing@web.de",$subject,$body, $more);

header("location: danke.html");

}
else {

header("location: fehler.html");

}

?>


Eigenartigerweise komme ich nach dem Absenden des Formulars immer auf die "fehler.html" Seite. Am Server liegts auch nicht, der kann php.

Hoffe ihr könnt mir helfen.



Grüße
bine
X

Formularproblem

Intermedia
Beiträge gesamt: 1287

4. Jul 2005, 13:52
Beitrag # 2 von 14
Beitrag ID: #175861
Bewertung:
(3367 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf:
<?

if ($name!="" AND $email!="" AND $subject!="" ) {

$more = "From: ben-marketing@web.de\r\nReturn-Path: ben-marketing@web.de\r\nContent-Type:text";

$body="Vorname: $vorname
Nachname: $name
Strasse: $strasse
PLZ/Ort: $wohnort
Email: $email
Betrifft: $subject";


mail("ben-marketing@web.de",$subject,$body, $more);

header("location: danke.html");

}
else {

header("location: fehler.html");

}

?>


Hallo,

vorsicht mit etwas älteren Beispielen, diese sind in vielen Fällen für die Einstellung der php.ini auf register_globals = off geschrieben.

Variablen und deren Inhalt holt euch besser mit $_POST oder $_GET usw.

Wenn du dein Formular per Post verschickst dann müßte deine Bedingung so aussehen:

if ($_POST[name]!="" AND $_POST;

usw.
das muß natürlich so ziemlich am Anfang der Seite passieren.


Um die Einstellung der php.ini anzuzeigen kann man phpinfo() verwenden.

Gruß Sven


als Antwort auf: [#175844]
(Dieser Beitrag wurde von Intermedia am 4. Jul 2005, 13:59 geändert)

Formularproblem

Dirk Levy
  
Beiträge gesamt: 9464

4. Jul 2005, 14:04
Beitrag # 3 von 14
Beitrag ID: #175863
Bewertung:
(3349 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ist schon für Globals_On gemacht.....

Aber ist tatsächlich etwas älter....

Gruß

Dirk


als Antwort auf: [#175861]

Formularproblem

Intermedia
Beiträge gesamt: 1287

4. Jul 2005, 14:09
Beitrag # 4 von 14
Beitrag ID: #175865
Bewertung:
(3343 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Ist schon für Globals_On gemacht.....

Aber ist tatsächlich etwas älter....

Gruß

Dirk


Ohhh verflucht hab mich vertan, die Quelle ist für register_globals = on und heute wird register_globals = off verwendet, zumindest bei den höheren PHP Versionen und auch bei neuen Installationen.

Sorry für den Irrtum, heut ist Montag und ich hab noch das Kissen im Gesicht vom Wochenende. ;-)

Gruß Sven


als Antwort auf: [#175863]

Formularproblem

Dirk Levy
  
Beiträge gesamt: 9464

4. Jul 2005, 14:28
Beitrag # 5 von 14
Beitrag ID: #175874
Bewertung:
(3336 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Also bei meinem Hoster sind sie sowohl für die 4er und
die 5er von PHP auf ON....

Ist df(

Grüße

dirk


als Antwort auf: [#175865]

Formularproblem

bine
Beiträge gesamt:

4. Jul 2005, 14:29
Beitrag # 6 von 14
Beitrag ID: #175875
Bewertung:
(3336 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Sorry, also ich blicke es noch immer nicht.
Ich bin keine Programmiererin und verstehe bei Euren Beiträgen leider nur Bahnhof. Seht Ihr in dem Script einen Fehler?

Grüße
BINE


als Antwort auf: [#175865]

Formularproblem

Dirk Levy
  
Beiträge gesamt: 9464

4. Jul 2005, 14:32
Beitrag # 7 von 14
Beitrag ID: #175880
Bewertung:
(3329 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich so nicht.

Womit hast Du das Skript bearbeitet, sprich
in welchem Programm?

Gruß

Dirk


als Antwort auf: [#175875]

Formularproblem

Intermedia
Beiträge gesamt: 1287

4. Jul 2005, 14:34
Beitrag # 8 von 14
Beitrag ID: #175883
Bewertung:
(3324 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ach machen wir es mal kurz, versuchs mal damit und gib einfach ne Info durch obs klappt.

<?
$name = $_POST[name];
$email = $_POST;
$subject = $_POST[subject];
$vorname = $_POST[vorname];
$strasse = $_POST[strasse];
$wohnort = $_POST[wohnort];


if ($name!="" AND $email!="" AND $subject!="" ) {

$more = "From: ben-marketing@web.de\r\nReturn-Path: ben-marketing@web.de\r\nContent-Type:text";

$body="Vorname: $vorname
Nachname: $name
Strasse: $strasse
PLZ/Ort: $wohnort
Email: $email
Betrifft: $subject";


mail("ben-marketing@web.de",$subject,$body, $more);

header("location: danke.html");

}
else {

header("location: fehler.html");

}

?>

Gruß Sven


als Antwort auf: [#175875]
(Dieser Beitrag wurde von Intermedia am 4. Jul 2005, 14:35 geändert)

Formularproblem

Dirk Levy
  
Beiträge gesamt: 9464

4. Jul 2005, 14:35
Beitrag # 9 von 14
Beitrag ID: #175885
Bewertung:
(3320 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Und das mit den Globals bekommst Du entweder
in Deinem Kundenmenü beim Provider raus,
oder Du machst einen PHP-Datei mit dem
Inhalt phpinfo()
lädst die auf den Server und rufst sie auf,
dann kannst Du dort nach den Globals
schauen...

Gruß

Dirk


als Antwort auf: [#175880]

Formularproblem

bine
Beiträge gesamt:

4. Jul 2005, 14:46
Beitrag # 10 von 14
Beitrag ID: #175888
Bewertung:
(3314 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Juhuuu, es hat geklappt.

Danke bin ganz happy! Die ganze Woche beis ich mir an diesem Thema die Zähne aus und Du machst einfach mal kurz das Script. Hut ab und - ein GROSSES DANKE.

Grüße
BINE


als Antwort auf: [#175883]

Formularproblem

Intermedia
Beiträge gesamt: 1287

4. Jul 2005, 16:30
Beitrag # 11 von 14
Beitrag ID: #175914
Bewertung:
(3301 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Na kein Problem ist gern geschehen immer im Sinne der URL des Forums, und man kann ja nicht alles können. ;-)

Hmm.... stell solche Fragen doch mal im PHP Bereich da "verlaufen" sich die Programmierer öfters hin. ;-)

@Dirk
ich hab es mit verschiedenen Servern zu tun und mußte feststellen das seit fast 2 Jahren ziemlich viele Provider ihre Server dichter machen, dadurch mußte ich mich bei der Erstellung von serverseitigen Anwendungen auch umstellen, früher hab ich es auch so wie du gemacht, aber die Praxis lehrt mich etwas anderes.
Aber lass nur, ich hab auch noch alte Projekte laufen welche ausschließlich mit register_globals= on funktionieren.;-)

Gruß Sven


als Antwort auf: [#175888]
(Dieser Beitrag wurde von Intermedia am 4. Jul 2005, 16:34 geändert)

Formularproblem

Dirk Levy
  
Beiträge gesamt: 9464

4. Jul 2005, 18:43
Beitrag # 12 von 14
Beitrag ID: #175953
Bewertung:
(3289 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
@Svem: Danke für die Info.....

So ein ähnliches Skript wie Du verwendest hätte
ich auch gehabt, allerdings kenne ich als Nichtproggie
nicht die Unterschiede.....

Gruß

Dirk


als Antwort auf: [#175914]

Formularproblem

Intermedia
Beiträge gesamt: 1287

4. Jul 2005, 19:05
Beitrag # 13 von 14
Beitrag ID: #175957
Bewertung:
(3288 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Dirk,

das ist dein Script. ;-)))

Wenn diese register_globals = off gesetzt sind hat das den Effekt, das du auf die Variablen welche übergeben werden nicht direkt zugreifen kannst, hierfür gibt es dann die sogenannten Globalen Variablen. Über die Methode Post oder Get kannst du dann auf diese Variablen zugreifen und nur so.

Also du hast ein Formularfeld mit dem Namen "vorname", dieser Inhalt wird dann z.B. per Post übergeben, soweit ok, nun mußt du auf diesen Inhalt direkt zugreifen, das passiert indem du es folgendermaßen machst:

$vorname = $_POST[vorname];

Mit $_POST gibst du an das du auf eine mit der Methode Post übergebene Variable zugreifen willst, in der eckigen Klammer gibst du dann den jeweiligen Feldnamen.
Die Variable $vorname soll dann den Inhalt des übergebenen Feldes $_POST[vorname] haben.

Um die Methoden Post und Get nicht unterscheiden zu müssen, gibt es noch die Möglichkeit auf Variablen zuzugreifen über $_REQUEST, hierbei wird Post und Get berücksichtigt.
z.B.
$vorname= $_REQUEST[vorname];
Für Uploadfunktionen steht dann die globale Variable $_FILE[feldfuerbild] zur Verfügung.

Damit soll mehr Sicherheit in die Scripts gebracht werden.

So nun noch zum Unterschied zwischen deinem Script und meinem-deinem Script, ich hab am Anfang nur die Variablen mit der Post Methode in die Variablen des Scripts geschrieben, das ist alles.

So nun brech ich mir bei der kleinen Schrift gleich die Augen. ;-)

Hoffe es war halbwegs verständlich ausformuliert.;-)

Gruß Sven


als Antwort auf: [#175953]

Formularproblem

Dirk Levy
  
Beiträge gesamt: 9464

4. Jul 2005, 19:43
Beitrag # 14 von 14
Beitrag ID: #175966
Bewertung:
(3281 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

danke für die ausführliche Erklärung,
jetzt sehe ich schon klarer, werde bei
Gelegenheit mal das Muster ändern,
damit es alle zum laufen bekommen...

Grüße

Dirk


als Antwort auf: [#175957]
X