Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Bestellformular PHP echo Anweisung Problem

Hallo,

ich habe ein Bestellformular auf meiner Webseite in PHP, das funktioniert auch soweit ganz gut. Es besteht im Grunde genommen aus einer Seite in der die Felder sind mit Verweis auf ne andere PHP Seite in der dann das gewünschte ausgeführt wird. Mein Problem ist folgendes:

Wenn ein User nichta alle Pflichtfelder ausgefüllt hat kommt ne Fehlermeldung allerdinsg immer in einer neuen komischen Seite und ich komme nur noch mittels Brwoser zurück. Mir wäre halt lieb wenn es dann auf der Eingabe Seite ne Meldung (vlt. in Rot) geben würde.

Hoffe ihr versteht was ich meine, ich poste mal den code von der process.php welche so: <form enctype='multipart/form-data' action='process.php' method='post'> eingebunden ist.

<?php
$errors
=0;
$error="Folgender Fehler ist aufgetreten:<ul>";
if(
$Vorname=="" || $Name=="" || $Strasse=="" || $Hausnummer=="" || $PLZ=="" || $Ort=="" || $Land=="" || $Tel=="" || $WannsindSieerreichbar=="" || $WiewollenSieIhrPaketnutzen=="" || $FurwelchesProjektwollenSieIhrPaketnutzen=="" ){
$errors=1;
$error.="<li>Sie haben leider nicht alle Pflichtfelder richtig ausgef&uuml;llt. Bitte gehen Sie in ihrem [url=http://www.computerhilfen.de/fachbegriffe-b-Browser.html][b]Browser[/b][/url] zur&uuml;ck.";
}
if(
$errors==1) echo $error;
else{
$where_form_is="http".($HTTP_SERVER_VARS["HTTPS"]=="on"?"s":"")."://".$SERVER_NAME.strrev(strstr(strrev($PHP_SELF),"/"));
$message="Paket S: ".$PaketS."
Paket M: "
.$PaketM."
Paket XL: "
.$PaketXL."
Ich benotige ein individuelles Angebot: "
.$IchbenotigeeinindividuellesAngebot."
Anrede: "
.$Anrede."
Vorname: "
.$Vorname."
Name: "
.$Name."
Strasse: "
.$Strasse."
Hausnummer: "
.$Hausnummer."
PLZ: "
.$PLZ."
Ort: "
.$Ort."
Land: "
.$Land."
Tel: "
.$Tel."
Fax: "
.$Fax."
Mobil: "
.$Mobil."
Wann sind Sie erreichbar: "
.$WannsindSieerreichbar."
Email: "
.$Email."
Wie wollen Sie Ihr Paket nutzen: "
.$WiewollenSieIhrPaketnutzen."
Firmenname: "
.$Firmenname."
Rechtsform: "
.$Rechtsform."
Fur welches Projekt wollen Sie Ihr Paket nutzen: "
.$FurwelchesProjektwollenSieIhrPaketnutzen."
Bemerkung: "
.$Bemerkung."
Ja ich mochte den Newsletter erhalten: "
.$JaichmochtedenNewslettererhalten."
"
;
mail("[email protected]","Bestellung",$message,"From: Bestellformular");
header("Refresh: 0;url=http://www.meinewebseite.de/bestellen_danke.php");
}
?>

danke schonmal, mfg  :)

Antworten zu Bestellformular PHP echo Anweisung Problem:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
...in einer neuen komischen Seite ...

Wie darf man das verstehen? Du hast es doch schätzungsweise selber programmiert, also wie komisch?

Wenn du das Formular validieren willst und bei Fehlern diese rot auf der Formularseite anzeigen lassen willst, dann verarbeite das Formular doch z.B. im selben Skript. Bei Fehlerfreiheit leitest du zur nächsten Seite weiter, ansonsten gibst du das Formular samt Fehlern nochmal aus.

Oder hab ich das Problem nicht ganz verstanden?  ???

greez 8)
JoSsiF

ich habe es doch nicht selber programmiert, hatte ich ja auhc nicht gesagt. ich kenne mich nicht wirklich mit php aus.

ich habe da halt mal durchgeschaut und gesehen das nach dem echo das steht was ausgegeben wird wenn nicht alles ausgefüllt ist. und so habe ich gedacht das man da was hinschreiben kann was zur folge hat das gleich auf der eingabeseite eine meldung kommt oder das vlt. ein  kleines windows fenster mit nem hinweis aufgeht oder so. da das formular ziemlich groß ist wäre es halt von vorteil wenn die felder auch wenn was fehlt ausgefüllt bleiben und man halt nuir noch ergänzen muss.

mfg

nachtrag: mit komischer seite ist  eigentlich nur eine weiße unformatierte seite gemein wo nur die 2 sätze ausgegeben werden mit dem fehler.

« Letzte Änderung: 09.02.07, 15:09:34 von reflo »

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Ist nicht so einfach, wie es erscheinen mag, da die Validierung lt. deiner Aussage außerhalb des Formular-Skripts stattfindet. Da müsste so einiges geändert werden.


ich kenne mich nicht wirklich mit php aus.

Das ist aber ein riesiges Problem, wenn du trotzdem PHP programmieren möchtest ;D

Du hast jetzt 2 Möglichkeiten:

1) PHP lernen

2) Dein Programmiervorhaben vergessen

Möglichkeit Nr. 3 - das Skript in einem Forum zurechtbasteln lassen - wird auch häufig versucht zu praktizieren, ruft aber meist weniger positive Reaktionen hervor, weil es nicht dem Sinn eines Forums entspricht ;)

greez 8)
JoSsiF

mh ok, also die funnktionen stimmen ja, wollte nur um etwas hilfe beim verändern bitten. ich will ja nix erstellt haben oder so. ich denke nicht das es lohnenswert ist für ein formular php zu lernen. naja... früher war man hier mal hilfsbereiter...

mfg

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
naja... früher war man hier mal hilfsbereiter...

Ich muss mich nicht rechtfertigen, möchte dir aber Folgendes erklären:

PHP greift wie ein Lauffeuer um sich, u.a. weil es einfach zu erlernen ist und viele Webhoster es anbieten. Es gibt kaum jemanden mehr, der nur eine statische HTML-Seite betreiben will. Folge: Es werden massiv PHP-Skripte eingesetzt, die oft nicht selber geschrieben sind. Dieser Umstand bringt es mit sich, dass die Skripte fast nie haargenau das machen, was der individuelle Endanwender möchte. Im Gegenzug lernen aber nur die wenigsten "Webmaster" die Sprache, obwohl sie entsprechende Software betreiben.

Resultat: sie posten mehr oder weniger riesige Skripte ins Forum ihres Vertrauens und hoffen, dass jemand ihnen das Teil so hinbiegt, dass es die gewünschte Funktionalität erreicht. Und man kann ihnen nicht einmal einen großen Vorwurf machen, weil sie mangels Sprachkenntnis den Aufwand nicht abzuschätzen wissen.

Das Ganze hat also weniger etwas mit mangelnder Hilfsbereitschaft zu tun als mit Selbstschutz. Ich bin seit mehreren Jahren in diesem Forum tätig, dabei hauptsächlich im Webmaster-Forum. Ich beobachte diesen Trend seit längerer Zeit und weiß wovon ich rede.

Also: Frag uns, warum deine Session nicht funktioniert! Frag uns, warum diese und jene Variable nicht korrekt übergeben wird! Frag uns auch, warum der Eintrag nicht korrekt in die Datenbank geschrieben wird. Aber komme bitte nicht daher und sage: "Ich hab keine Ahnung davon, aber macht mal...". Das geht so nicht, und ich hoffe, das ist ein kleines Bisschen verständlich. Denn wenn wir nicht helfen wollten, dann würden wir uns nicht hier herumtreiben ;)

greez 8)
JoSsiF   

Es tut mir leid das ich mangels kenntnis nicht abschätzen kann wie groß eine änderung sein muss damit sie zum ziel führt. ich mein ich verstehe dich ja und ich will ja auch keinen code klauen oder was programmiert haben. nur woher soll ich den vorher wissen was das für ein aufwand ist?! das was das formular jetzt ausgibt sind 2 zeilen code, also gehe ich als php-laie davon aus das es vlt. nicht viel mehr aufwand ist da was zu ändern, weil ja der rest funktioniert. ich bin kein fan davon immer das neuste zu nutzen nur habe ich keine andere möglichkeit außer php so ein formular zum laufen zu bringen, füher hatte ich ein email formular das war mal richtig mies...

aber ist schon ok, wenn du sagts das der aufwand zu groß wäre muss ich mir wohl jemanden suchen den ich für die änderung bezahle...

mfg

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Nochmal: dein Formular steht in der einen Seite, die Ausgabe der Fehler kommt auf einer anderen Seite. Demzufolge hast du grundsätzlich 2 Möglichkeiten:

1) Die gesamte Validierungslogik ins Formularskript transferieren, also dieses als "action" aufzurufen.

2) Die Validierungslogik an Ort und Stelle zu lassen und bei Fehlern den User aufs Formular zurückschicken.

Lösung Nr. 2 ist blöd, weil dann sowohl die Fehlertexte als auch sämtliche Formularwerte durchgeschleift werden müssen, um einerseits Fehlermeldungen und andererseits die Formular-Vorbefüllung zu erreichen.
Somit erweist sich Variante 1 insgesamt als günstiger.

Soviel zur Vorgehensweise. Ist also nicht mit 2 oder 3 Zeilen Code gemacht.

greez 8)
JoSsiF 


« Eigener WebserverKann kein Foto zu meinem Profil hinzufügen »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
PHP
PHP steht für Personal Home Page und ist eine Skriptsprache die meist verwendet wird zur dynamischen Erzeugen von Internetseiten. PHP zeichnet sich durch die weite D...

Eingabefelder
Als Eingabefelder werden in einem Programm oder in Online-Formularen die Stellen bezeichnet, an denen Informationen eingetippt werden können. Die Beschriftung neben ...

Eingabeaufforderung
Die Eingabeaufforderung ist ein Begriff aus dem IT-Bereich und bezeichnet eine Markierung auf der Kommandozeile, welche auf die Stelle verweist, an der man Kommandozeilen...