Thema: Verkettungsoperator
- 16.04.2009, 16:11 #8Benutzer
- Registriert seit
- 06.04.2009
- Beiträge
- 36
- Renommee-Modifikator
- 0
Ah, da hätte ich ja auch selbst drauf kommen müssen...naja...danke auf jeden Fall!
- 16.04.2009, 23:48 #9Benutzer
- Registriert seit
- 06.04.2009
- Beiträge
- 36
- Renommee-Modifikator
- 0
Bin jetzt etwas weiter beim Affenformular, aber komme jetzt irgendwie nicht weiter (wollte dazu jetzt nicht extra nen neuen Thread eröffnen, nehme also einfach den hier):
Bei der Aufgabe auf der Seite, mit der ich PHP lerne (PHP-Kurs | Willkommen), sollte man ein Eingabe-Feld erstellen, bei dem man einen Namen eingeben kann. Wenn man keinen Namen eingibt, soll eine Fehlermeldung erscheinen, dass man das Feld leer gelassen hat und wenn man einen Namen eingibt, soll erscheinen "Eingetragener Name: >>Name<<"
Das ganze soll über ein hidden-Feld möglich sein, wie das funktioniert versteh ich aber noch nicht. Bei so einem hidden-Feld kann man doch garnichts eingeben. Wie soll da irgendwas überprüft werden. Wenn ich das Sript jetzt richtig verstanden habe, wird überprüft ob sowohl das hidden-Feld, als auch das Feld zur Namens-Eingabe leer sind. Also jetzt hier mal das, was ich geschrieben habe:
Und der Lösungvorschlag ist der auf diesem Bild: http://www.php-kurs.com/bilder/58-af...rolle-code.png . Bis auf ein paar Kleinigkeiten erkenne ich da jetzt keinen Unterschied zwischen meiner Lösung und dem Lösungsvorschlag, also eigentlich sollte es doch richtig funtkionierten.PHP-Code:<?php
if (empty ($_GET['name']) == TRUE)
{
if ( $_GET['kontrolle'] == TRUE )
{
echo "<p><b>Bitte geben sie einen Namen ein!</b>";
}
echo '
<form action="1.php" method="GET" />
<p>Ihr Vorname:
<input type="text" name="vorname" />
</p>
<input type="hidden" name="kontrolle" value="1" />
<p>Absende-Buttom:
<input type="submit" name="buttom" value="absenden" />
</p>
</form>';
}
else
{
echo "Eingetragener Name: " . $_GET['kontrolle'];
}
?>
- 17.04.2009, 08:14 #10
Warum auf ein hidden-Feld testen? Den Inhalt des Feldes könntest du zur Laufzeit nur mti Javascript ändern, was keinen Sinn macht. User mit deaktiviertem Javascript könnten das Formular nicht abschicken.
Du testest übrigens auf $_GET["name"] obwohl dieser Wert in keinem name="" - Attribut steht. Du musst auf $_GET["vorname"] testen.PHP-Code:<?php
$err_msg = '';
if ($_SERVER["REQUEST_METHOD"] == 'GET') {
if (isset($_GET["vorname"]) && trim($_GET["vorname") != '') {
//alles ok
} else {
$err_msg = 'Bitte Vornamen eingeben!';
}
}
//Ausgabe der Fehlermeldung sofern gesetzt
if ($err_msg != '') {
echo '<p>' . $err_msg . '</p>';
}
- 17.04.2009, 11:55 #11Benutzer
- Registriert seit
- 06.04.2009
- Beiträge
- 36
- Renommee-Modifikator
- 0
Das ist die Aufgabe auf der Seite, um PHP zu lernen.
"Inhalt des Feldes zur Laufzeit"? Hä?
Ah, stimmt. Das war der Fehler. Jetztz funktionierts. Also
PHP-Code:<?php
if (empty ($_GET['vorname']) == TRUE)
{
if ( $_GET['kontrolle'] == TRUE )
{
echo "<p><b>Bitte geben sie einen Namen ein!</b>";
}
echo '
<form action="1.php" method="GET" />
<p>Ihr Vorname:
<input type="text" name="vorname" />
</p>
<input type="hidden" name="kontrolle" value="1" />
<p>Absende-Buttom:
<input type="submit" name="buttom" value="absenden" />
</p>
</form>';
}
else
{
echo "Eingetragener Name: " . $_GET['vorname'];
}
?>
- 21.04.2009, 21:20 #12
Die Aussage meines Vorposters ist absolut korrekt, jedoch möchte ich noch eine Kleinigkeit hinzufügen:
Strings sollen generel in Singelquotes (') ausgedrück werden, und niemals in Anführungszeichen ("), da dies mehr Speicher frisst.
Wie Efchen bereits erwähnt hat, werden in (") die Variablen aufgelöst, und somit wird php einen (") String immer erst parsen. Mit (') wird der String sofort ausgegeben. Für die Performance mag dies bei kleineren Projekten nicht wirklich viel ausmachen, jedoch sollte man immer
schreiben und nichtPHP-Code:echo 'Aktuelle Preis: ' . $preis . ' €';
Sorry dass ich jetzt nochmal den Thread so durcheinander würfel, aber ich denke das ist noch enorm wichtig, zu wissen.PHP-Code:echo "Aktuelle Preis: $preis &euro";
Ich bin der Anfänger von den Anfängern der Anfänger!
Also habt bitte Geduld mit mir!
Meine Homepage 
Aktuelles Projekt: Erstellung eines PHP und MySQL basierenden Clan Content Management Systems
My software never has bugs, it's only random features 
"StGb §328: Das verursachen einer nuklearen Explosion wird mit 5 Jahren Freiheitsstrafe oder einer Geldstrafe bestraft."
"Raubkopien: Raubkopierer werden mit 5 Jahren Freiheitsstrafe bestraft."
- 21.04.2009, 23:37 #13
Bei den paar Zeilen die man mit echo ausgibt dürfte das nicht arg ins Gewicht fallen, denke ich. Größere Blöcke wie Formulare oder Tabellen sollte man sich sowieso lieber außerhalb vom PHP-Code ausgeben lassen.
Man sollte sich lieber über Softwaredesign oder eine Cache-Funktion gedanken machen, sollte die Performance eine große Rolle spielen.PHP-Code:<?php
//...php-code
?>
<table>
<tr>
<td>
</td>
</tr>
</table>
<?php
//..php
?>
Hier noch ein interessanter Beitrag zur Performance von double bzw. single quotes.
PHP Performance von Single- oder Doublequotes, Part 2 - bueltge.de [by:ltge.de]
- 21.04.2009, 23:53 #14
lol was für ein Wiedersupruch
Denn die Analyse des Blog PHP-Performance, der sich ausgiebig und übersichtlich mit Performance im Bereich PHP beschäftigt, ergab eine neue Erkenntniss: PHP- Ausgaben mit Doublequotes sind schneller.eshalb und vor allem durch das Blog von Christian erinnert, habe ich die Datei in meinen Experimente-Ordner geladen und jeder Interessierte kann sich davon überzeugen, dass Singelquotes schneller sind. Das Parsen fällt nun mal weg.Ich bin der Anfänger von den Anfängern der Anfänger!
Also habt bitte Geduld mit mir!
Meine Homepage 
Aktuelles Projekt: Erstellung eines PHP und MySQL basierenden Clan Content Management Systems
My software never has bugs, it's only random features 
"StGb §328: Das verursachen einer nuklearen Explosion wird mit 5 Jahren Freiheitsstrafe oder einer Geldstrafe bestraft."
"Raubkopien: Raubkopierer werden mit 5 Jahren Freiheitsstrafe bestraft."
Aktive Benutzer
Aktive Benutzer
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Debugging für Android
Heute, 14:25 in HTML und XHTML