eine ganze dumme Frage!

girl2005

Erfahrenes Mitglied
ich möchte ein Programm so schreiben:
<button>
wenn ich auf button clicke zeigt sich ein Text..

hier ist mein Programm, fonktionniert aber nicht.
PHP:
<? 
?>
<html>
<body>
<form action = "<?=$_SERVER['PHP_SELF'] ?>">
<input type = "submit" name = "ok" value = "ok">
<?
if (isset($ok)) {echo "hallo";}


?>

</body>
</html>

ich bin Änfangerin Sache php. was mache ich falsch ?Danke für Hilfe.
 
Hi, so solltes es gehen!
Du hast vergessen anzugeben, ob du die Daten per POST oder GET übergibst!

PHP:
<html>
<body>
<form action = "<?=$_SERVER['PHP_SELF'] ?>" method="post">
<input type = "submit" name = "ok" value = "ok">
<?
if (isset($_POST['ok'])) {echo "hallo";}
?>
</body>
</html>

schiese
 
Erstmal kannst Du das leere PHP-Tag am Anfang weglassen.
Zum anderen solltest Du anstelle von <? besser <?php nutzen.
Das leere Tag oben wuerde dann so aussehen:
PHP:
<?php
?>
Der Grund dafuer ist, dass <? per php.ini deaktiviert werden kann und wahrscheinlich ueber kurz oder lang auch komplett entfernt werden wird.


Dass kein Text angezeigt wird nachdem das Formular abgeschickt wurde koennte an der Einstellung register_globals liegen. Ich weiss jetzt nicht wie ein Formular verschickt wird wenn keine Method angegeben wird, daher empfehle ich Dir im <form>-Tag noch method="post" anzugeben.
Anschliessend aenderst Du $ok in $_POST['ok'] um, das bedeutet, dass aus dem superglobalen Array $_POST der Wert ok ausgelesen wird, und dieser repraesentiert eben Deinen Button.
Falls Du Vorhast das ganze ohne Reload zu realisieren sei Dir gesagt, dass dies mit PHP nicht moeglich ist sondern JavaScript erfordert.
 
Zurück