php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 16.03.2010, 00:07  
Neuer Benutzer
 
Registriert seit: 15.03.2010
Beiträge: 3
PHP-Kenntnisse:
Anfänger
Memphis befindet sich auf einem aufstrebenden Ast
Standard Anfängerfehler bei Bestell- script

Hi leute,
ich versuche erst seit ein paar tagen mir PHP selbst beizubringen und bin auf ein Problem gestoßen. Bin mir sicher das viele von euch "pros" darüber lächeln werden, bitte um nachsicht

Also ich versuche mich an einer einfachen pizza bestellung. Is nichts großartiges, ein paar optionen und im idealfall sollte ein text mit zb dem gewünschtem Belag an eine email adresse geschickt werden
und ich seh meinen fehler nicht...

html seite:
Zitat:
<html>
<head>
<title>Pizza Bestellung </title>
</head>
<body>
Welche <B>Größe </B>wünschen Sie?
<p>



<FORM ACTION = "pizza_Bestellung.php" METHOD = "post">


<p>
<INPUT TYPE ="radio" NAME ="groesse" VALUE="Klein"> Klein
<p>
<INPUT TYPE ="radio" NAME ="groesse" VALUE="Mittel"> Mittel
<p>
<INPUT TYPE ="radio" NAME ="groesse" VALUE="Party"> Party
<p>
Wie soll die Pizza <b>belegt</b> sein
<p>


<p>
<INPUT TYPE ="checkbox" NAME ="belag1" VALUE="Schinken"> Schinken <br>
<INPUT TYPE ="checkbox" NAME ="belag2" VALUE="Salami">Salami<br>
<INPUT TYPE ="checkbox" NAME ="belag3" VALUE="Pilze">Pilze<br>
<INPUT TYPE ="checkbox" NAME ="belag4" VALUE="Knoblauch">Knoblauch<br>
<INPUT TYPE ="checkbox" NAME ="belag5" VALUE="Extra-Käse">Extra-Käse<br>
<INPUT TYPE ="checkbox" NAME ="belag6" VALUE="Sardellen">Sardellen<br>
<INPUT TYPE ="checkbox" NAME ="belag7" VALUE="Meeresfrüchte">Meeresfrüchte<br>
<INPUT TYPE ="checkbox" NAME ="belag8" VALUE="Zwiebel">Zwiebel<br>


<p>
<INPUT TYPE ="submit" VALUE="Abschicken">
<INPUT TYPE ="reset" VALUE="Reset">

</FORM>

</body>
</html>
und die datei pizza_bestellung.php:
Zitat:
<html>
<head>
<title>Pizza FERTIGE Bestellung </title>
</head>
<body>
<?

$Anrede = $_POST["Anrede"] ."<br>";
$Besteller = $_POST["Besteller"] ."<br>";
$Ort = $_POST["Ort"] ."<br>";
$Straße = $_POST["Straße"] ."<br>";
$groesse = $_POST["groesse"] ."<br>";


echo("<b>Bestellerdaten:</b><br>");
echo ("$Anrede" );
echo ("$Besteller <br>");
echo ("$Ort <br>");
echo ("$Straße <p>");




echo ("Eine Pizza der Größe: <b> $groesse </b>"); echo ("und belegt mit:");
if ($belag1) echo ("$belag1");
elseif ($belag2) echo ("$belag2");
elseif ($belag3) echo ("$belag3");
elseif ($belag4) echo ("$belag4");
elseif ($belag5) echo ("$belag5");
elseif ($belag6) echo ("$belag6");
elseif ($belag7) echo ("$belag7");
elseif ($belag echo ("$belag8");
?>

</body>
</html>
Danke im Vorraus
Memphis ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 16.03.2010, 00:11  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Eine Frage wäre sinnvoll gewesen. In jedem Fall ist Deine if/elseif-Struktur schon mal falsch. Das HTML ist auch recht gruselig.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 16.03.2010, 00:21  
Neuer Benutzer
 
Registriert seit: 15.03.2010
Beiträge: 3
PHP-Kenntnisse:
Anfänger
Memphis befindet sich auf einem aufstrebenden Ast
Standard

hi,
so ne antwort hab ich ehrlich gesagt schon befürchtet
Kommt heraus wenn man bei vielen foren immer ein bisschen was aufschnappt...
frage: wie würdet ihr an so ein problem herantreten?
lg
Memphis ist offline  
Alt 16.03.2010, 00:25  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Als erstes solltest Du angeben, welche Foren noch an Deinem Problem mitarbeiten und Dir das hier zu Gemüte führen: Bitte beachten: Anmerkungen zu Crosspostings

Und Sorry, "wie würdet ihr an so ein problem herantreten?" - wie soll man so eine Frage beantworten?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 16.03.2010, 00:27  
Neuer Benutzer
 
Registriert seit: 15.03.2010
Beiträge: 3
PHP-Kenntnisse:
Anfänger
Memphis befindet sich auf einem aufstrebenden Ast
Standard

sry falsch formuliert: das is das 1. forum indem ich das problem poste, andere hab ich nur nach ähnlichen problemen durchsucht und mir den obenstehenden "blödsinn" selbst zusammengeschustert...
Memphis ist offline  
Alt 16.03.2010, 08:11  
Erfahrener Benutzer
 
Registriert seit: 24.05.2008
Beiträge: 173
PHP-Kenntnisse:
Anfänger
Griffith sorgt für eine eindrucksvolle AtmosphäreGriffith sorgt für eine eindrucksvolle Atmosphäre
Standard

Naja, erstmal verwendest du uraltes HTML 2.0 ...

Die Informationen, was auf die Pizza nicht drauf soll wird aus zwei Gründen nicht ausgegeben:

Erstens solltest du auf POST-Variablen immer über $_POST["name123"] zugreifen. Deine Variante, also der Zugriff auf die globale Variable "$beleg1", würde nur funktionieren, wenn register_globals aktiviert ist. Es ist aber grundsätzlich davon abzuraten register_globals zu aktivieren.

Zweitens werden bei diesem if-else-Konstrukt niemals alle Belage ausgegeben. Nach dem ersten Belag, der ausgewählt wurde wird abgebrochen und nicht ins nächste elseif verzweigt.

Auch würde diese Schreibweise einige NOTICE-Meldungen werfen, weil du auf Variablen zugreifst, die unter Umständen gar nicht existieren.

Besser wäre:
PHP-Code:
if( isset($_POST["belag1"]) ) echo $_POST["belag1"], "<br>";
if( isset(
$_POST["belag2"]) ) echo $_POST["belag2"], "<br>";
if( isset(
$_POST["belag3"]) ) echo $_POST["belag3"], "<br>";
if( isset(
$_POST["belag4"]) ) echo $_POST["belag4"], "<br>";
if( isset(
$_POST["belag5"]) ) echo $_POST["belag5"], "<br>";
if( isset(
$_POST["belag6"]) ) echo $_POST["belag6"], "<br>";
if( isset(
$_POST["belag7"]) ) echo $_POST["belag7"], "<br>";
if( isset(
$_POST["belag8"]) ) echo $_POST["belag8"], "<br>"
Du könntest aber auch direkt ein Array für den Belag verwenden:
PHP-Code:
<p>
<
input type="checkbox" name="belag[]" value="Schinken"Schinken <br>
<
input type="checkbox" name="belag[]" value="Salami"Salami<br>
<
input type="checkbox" name="belag[]" value="Pilze"Pilze<br>
<
input type="checkbox" name="belag[]" value="Knoblauch"Knoblauch<br>
<
input type="checkbox" name="belag[]" value="Extra-Käse"Extra-Käse<br>
<
input type="checkbox" name="belag[]" value="Sardellen"Sardellen<br>
<
input type="checkbox" name="belag[]" value="Meeresfrüchte"Meeresfrüchte<br>
<
input type="checkbox" name="belag[]" value="Zwiebel"Zwiebel<br>
</
p
PHP-Code:
if( isset($_POST["belag"]) && is_array($_POST["belag"]) )
foreach( 
$_POST["belag"] as $belag)
{
  echo 
$belag"<br>";

Griffith ist offline  
Alt 16.03.2010, 08:15  
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

Und bitte POST und GET zumindest mit htmlspecialchars() 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
Script auf bestimmten FTP... RavenZ PHP Tipps 2009 10 02.12.2009 16:03
Werte von einem Php Script in ein anderes Php Script üergeben WINFO2105 PHP Tipps 2009 5 15.07.2009 20:05
Scriptangebot 1 Klick Counter Hosting Script Charbel Scriptbörse 0 23.06.2009 07:43
Firefox startet Script bei Timeout wieder neu Wolla PHP Tipps 2009 2 18.05.2009 18:07
phpBB Loginscript in eigenes Login Script einbinden 2wuck PHP Tipps 2007 4 19.12.2005 23:10
[Erledigt] php script und ixed PHP Tipps 2005-2 14 12.10.2005 13:34
[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
[Erledigt] python script mit php aufrufen... PHP-Fortgeschrittene 1 17.11.2004 17:11
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
[Erledigt] Muss ein php script für unsere schule ändern Datenbanken 1 28.06.2004 14:33

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php pizzabestellung, pizza bestell script, bestellscript download, pizza bestellung php script, php pizzabestellung script, pizza bestell script php, php pizza bestell script, php script pizza, bestellscript, bestell script, bestell php script, bestellung script php, pizza.de script downlaod, pizza bestell php script, php pizza script, pizza order script, php script für pizzabestellung, php skript bestell.php, pizza script, php pizzabestellung mail

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:04 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