[PHP]Erstes mini mini Script. Wo ist der Fehler ?

Apocalyptica

ò_Ó
ID: 500290
L
4 Mai 2006
268
9
huhu zusammen
also ich mache grade meine ersten schritte mit php :)
(versuche es zumindest ;) )

zum anfang wollte ich mal eine kleines mini script machen:
es werden 2 verschiedene namen eingegeben und diese werde dann in einem satz auf der nächsten seite verbunden.

der anfang sieht so aus:
PHP:
<form action="test.php" method="post">
Erster Name:<br>
<input type="Text" name="erstername">
<br>
Zweiter Name:<br>
<input type="text" name="zweitername"><br>
<input type="submit" value="Senden">
</form>

Die Datei test.php sieht dann so aus:
PHP:
<?php
$mann = $_post["erstername"];
$frau = $_post["zweitername"];
echo "$mann mag $frau";
?>

leider werden die variablen nicht angezeigt, sondern nur das "mag". wo ist der fehler ?
 
PHP:
$_POST
Wird großgeschrieben.

Ansonsten wäre es eine normale Variable. (Die nicht definiert und initialisiert ist.)
 
schöner wäre es so:
PHP:
<?php
$mann = $_POST['erstername'];
$frau = $_POST['zweitername'];
echo $mann .' mag ' . $frau;
?>
 
Hi,

sicher auf die minimalen Geschwindigkeitsvorteile könnte man eingehen.

Aber viel wertvoller ist die bessere Überschaubarkeit des Codes, wenn die Variablen getrennt eingefügt werden.

Diesen Vorteil sieht hier wohl jeder (dank des Syntax-Highlightings) - auch ohne Anmerkung ;)
 
Code hat nichts mit Schönheit zu tun.
"Schönheit" hat mit Wartbarkeit zu tun ;)
Umso besser ich den Source lesen und verstehen kann (auf den ersten Blick :!:) umso wartbarer bleibt der Code über die Jahre.

Begründe doch einfach dein Vorschlag, und zwar das dein Code etwas schneller ist da PHP den String nicht nach Variablen durchsuchen muss, da Singelqoutes (').
Dann macht dein Vorschlag auch Sinn und Anfänger verstehen ihn.
nö, diese Microbenchmarks sind alles andere als ein Argument.
 
"Schönheit" Kommentare hat mit Wartbarkeit zu tun ;)
Umso besser ich andere den Source lesen und verstehen kann (auf den ersten Blick :!:) umso wartbarer bleibt der Code über die Jahre.

Mein IDE kann auch " Variablen anständig Highlighten, daher auch kein richtiges Argument.

nö, diese Microbenchmarks sind alles andere als ein Argument.
Gut, von mir aus;PHP ist eh schon so lahm da kommt es auf ein paar Microsekunden auch nicht drauf an.

Aber das ist eh alles OT und darum gings hier eigentlich auch nicht. :p
 
Umso besser ich andere den Source lesen und verstehen kann (auf den ersten Blick :!:) umso wartbarer bleibt der Code über die Jahre.
Richtig. Und je schöner der Code geschrieben is, desto leichter kann man ihn lesen.

Man könnte ja auch so schreiben (und wehe, einer macht das nach :naughty:):
PHP:
<?="{$_POST['erstername']} mag {$_POST['zweitername']}"?>
Selber Code, selbe Ausgabe. Nur ich bezweifle, dass da einer auch nur Lust hat, so einen Kot Code zu warten...

"Schöner Code" ist mehr, als nur ordentlich zu dokumentieren.
 
Wie wäre es mit inkrementeller Schreibweise? :ugly:
PHP:
<?php
$mag = $_POST['erstername'];
$mag .= ' mag ';
$mag .= $_POST['zweitername'];
echo $mag;
?>
 
Niemals Daten die per form uebermittelt wurden direkt wieder ausgeben sag ich nur, das fuehrt zu potentiellen XSS Angriffen (einfach Javascript in eines der Felder einfuegen und due hast ein 1a angriff).
Ich empfehle in erster linie immer ein htmlentities() um die Werte.