Wann ist $Valid valide???
Peter
- php
HI!
Ich fange gerade damit an mich etwas mit PHP zu beschäftigen und arbeite dabei viel mit dem Werk SelfPHP.
Aber irgendwie checke ich das mit den PHP-Version nicht :-(
Frage(n):
a: Woher weiß ich was meine aktuelle PHP-Version ist (ich benutze aktuell: XAMPP 2.1??
b: Was ist hier falsch???
<html>
<head></head>
<body>
<form method="GET" name="test" action="<?php echo $PHP_SELF?>">
<input type="text" name="testid">
<input type="submit" name="valid" value="Abschicken">
</form>
</body>
</html>
<?PHP
if($valid)
{
echo"HallO";
}
?>
Sorry, habe nicht mitbekommen das, dass häckchen bei der Vorschau raus war.
Meine Frage: Warum ist $valid den nicht true????
habe d'ehre Peter
a: Woher weiß ich was meine aktuelle PHP-Version ist (ich benutze aktuell: XAMPP 2.1??
$_SERVER['PHP_SELF'] hat nichts mider Version zu tun, sondern ist die aktuelle Seite oder das aktuelle Skript und wird durch "action" wieder aufgerufen
b: Was ist hier falsch???
einiges
<html>
<head></head>
<body>
Das Formfeld soll wohl nur ausgegeben werden, wenn noch nichts abgeschickt wurde. AUsserdem wuerde ich method="GET" durch method="POST" ersetzen, da sonst die Formularwerte im URL-Feld angezeigt werden.
if(!isset($_POST['valid']
<form method="post" name="test" action="<?php echo $_SERVER['PHP_SELF']?>">
<input type="text" name="testid">
<input type="submit" name="valid" value="Abschicken">
</form>
</body>
</html>
> ~~~php
> <?PHP
Vermutlich ist der Wert register_globals in der php.ini auf "off" gesetzt. Also musst Du den Geltungsbereich des uebergeben Parameter angeben
if($_POST['valid'])
> {
> echo"HallO";
> }
> ?>
>
man liest sich
Wilhelm
if(!isset($_POST['valid'])) {
dann solltest Du aber den kompletten Formblock mit php ausgeben
}
HI Wilhelm (und Danke für die Rasche Antwort)!
Ich will eigentlich nur das der untere PHP-Teil nur dann ausgeführt wird, wenn der Button geklickt wurde.
MFG
Peter
Hallo,
a: Woher weiß ich was meine aktuelle PHP-Version ist (ich benutze aktuell: XAMPP 2.1??
ich kenne das Gesamtpaket XAMPP nicht, sondern installiere und betreue alle Komponenten einzeln. Aber eine für meinen Geschmack einfache Version, das zumindest in der Windows-Version herauszufinden:
Rechtsklick auf php.exe, Eigenschaften/Version
Da steht's dann klar und deutlich.
b: Was ist hier falsch???
<?PHP
if($valid)
{
echo"HallO";
}
?>
Wo soll die Variable $valid herkommen? Wo definierst du sie? Fällt die einfach vom Himmel?
Du meinst wahrscheinlich $_GET['valid'].
Die Unart früherer PHP-Versionen, mit GET/POST oder durch Cookies übergebene URL-Parameter gleich auf Variablen abzubilden, ist heutzutage (zum Glück) nur noch selten anzutreffen. In PHP5 kann man das über die Option register_globals in der php.ini noch aktivieren (wird aber nicht empfohlen), ab PHP6 wird das voraussichtlich gar nicht mehr möglich sein.
So long,
Martin
Hallo Peter,
Ich fange gerade damit an mich etwas mit PHP zu beschäftigen und arbeite dabei viel mit dem Werk SelfPHP.
ich gebe zu, noch nie in SELFPHP reingeschaut zu haben, ich habe allerdings nur schlechtes darüber gelesen. Wenn Du den Quellcode aus SELFPHP hast, dann ist die Kritik mehr als berechtigt.
a: Woher weiß ich was meine aktuelle PHP-Version ist (ich benutze aktuell: XAMPP 2.1??
Das ist ganz einfach: Erstelle eine php-Datei. Diese enthält folgenden Code:
phpinfo();
Speichere diese Datei ab - und rufe sie auf: Schon wirst Du über alle Einzelheiten von PHP informiert. Die Version wird übrigens recht neu sein, ich vermute 5.2 oder etwas ähnliches.
<form method="GET" name="test" action="<?php echo $PHP_SELF?>">
Uralt-Code, heutzutag verwendet man statt $PHP_SELF [link:http://de.php.net/manual/de/reserved.variables.php#reserved.variables.server@title=$_SERVER['PHP_SELF'\]]
.
<input type="submit" name="valid" value="Abschicken">
[...]
<?php
if($valid)
und hier verläßt Du Dich auf register_globals = on, was schon seit Ewigkeiten standardmäßig auf off steht, eine kleine Diskussion dazu findest Du in diesem Thread in der Forumshauptdatei.
Bitte suche Dir bessere Quellen, um PHP zu lernen. Ich kann Dir insbesondere das Handbuch empfehlen, dazu noch http://www.php-faq.de/index.html.
Freundliche Grüße
Vinzenz
habe d'ehre Vinzenz
ich gebe zu, noch nie in SELFPHP reingeschaut zu haben, ich habe allerdings nur schlechtes darüber gelesen. Wenn Du den Quellcode aus SELFPHP hast, dann ist die Kritik mehr als berechtigt.
Was man mittlerweile fast schon als "Urban legend" bezeichnen kann. Die jetzige Version hat mit der frueheren im SELF-Layout nicht mehr viel gemein. Variablen aus POST oder GET nur mit $foo ansprechen ist mir ehrlich gesagt dort noch nicht untergekommen.
Und: von SELFHTML wird selbiges an anderen Orten behauptet. ;-)
man liest sich
Wilhelm
Danke an alle, für die Hinweise, dass SelfPHP so schlecht ist, wusste ich leider nicht :-(
Eine Frage hätte ich aber noch (passt hier zwar nimmer ganz rein, aber einen neuen Thread mache ich dafür heut nimmer auf :-)
Wie bekomme ich den in PHP bitte die länge eines Strings zurück???
Warum??? Ich habe in der Session eine Variable mit einem string gespeichert und wenn ich ihn mir wieder hole, bekomme ich oben drauf noch ein |N;
das ich nicht brauche.
Danke und MFG
Peter
Hi,
Wie bekomme ich den in PHP bitte die länge eines Strings zurück???
indem Du Dir einfachg die passende String-Funktion heraussuchst.
freundliche Grüße
Ingo
Hallihallo!
Warum??? Ich habe in der Session eine Variable mit einem string gespeichert und wenn ich ihn mir wieder hole, bekomme ich oben drauf noch ein
|N;
das ich nicht brauche.
In Ergänzung zu dem, was Ingo schon geschrieben hat, hilft Dir in diesem Fall vielleicht die Funktion trim weiter als umständliche Konstrukte über die Stringlänge.
Das von uns beiden verlinkte PHP- Handbuch ist übrigens ein ziemlich mächtiges Hilfsmittel, da die Funktionen sehr schön übersichtlich nach Themen sortiert sind (Ich als relativer PHP-Neuling spreche aus Erfahrung ;) ).
Mit einem kleinen Bisschen an Denkarbeit (was will ich erreichen? Was genau bearbeite ich eigentlich gerade? Strings? Arrays?) findet man ziemlich schnell die richtige Funktion zu seinem Vorhaben.
Nicht zu unterschätzen sind auch die "User Contributed Notes", sie enthalten viele wertvolle Tipps, teilweise auch nette Funktionen, die Einem das Leben erleichtern können.
Viele liebe Grüße,
Der Dicki