2016-07-21 13 views
0

Ich habe folgende HTML-Datei:PHP-Skript wird nicht ausgeführt gedruckt

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Fancy Website</title> 
</head> 
<body> 
    <div id="content_login"> 
     <form method="post" action="app.php"> 
      <table> 
       <thead>Please Login for more fancy Content!</thead> 
       <tr> 
        <td>Username</td> 
       </tr> 
       <tr> 
        <td><input type="text" name="username"></td> 
       </tr> 
       <tr> 
        <td><input type="submit" name="login" value="Login"></td> 
       </tr> 
      </table> 
     </form> 
    </div> 
</body> 
</html> 

Und das ist mein PHP-Skript:

<?php 
    if(isset($_POST['login'])) { 
     echo "Hello " . $_GET["username"]; 
    } 
?> 

Ja einfach nichts, aber ich wollte nur testen, wenn ein Skript würde funktionieren, wenn der Login Button gedrückt wird. Überraschung: Es ist nicht. Ich öffne index.html in meinem Browser und der HTML-Teil funktioniert, aber wenn ich den Login-Button drücken der Browser zeigt mir dieses:

<?php 
    if(isset($_POST['login'])) { 
     echo "Hello " . $_GET["username"]; 
    } 
?> 

ich, es ist ein Syntax Problem erraten, aber ich kann es nicht finden. Vielleicht siehst du es. Vielen Dank!

+1

Laufen Sie unter einem Server, der PHP unterstützt? – Vuldo

+0

Atm Ich benutze keinen Server, nur meinen Browser. Darf das das Problem sein? – nova

+0

@Isabell Ist es in localhost? –

Antwort

1

Mein Rat wäre, zu verwenden:

<?php 
    if (isset($_POST['login'])) 
    { 
     $username = $_POST['username']; 

     if (!empty($username)) 
     { 
      echo "hello $username"; 
     } else { 
      echo "You must fill in the username!"; 
     } 
    } 
?> 

Um ehrlich zu sein, würde ich index.html in index.php ändern und es oben auf der Seite platzieren, so dass alle Fehler usw. durch eine Datei geleitet werden.

0

Haben Sie den PHP-Code in app.php? Wenn Sie dann haben Sie nicht mod_php in Apache aktiviert. Ich würde Ihnen empfehlen, wampserver (unter Windows) zu verwenden, da dies die grundlegende Apache/PHP-Konfiguration übernimmt.

http://www.wampserver.com/en/

EDIT: Sie können Ihre PHP-Code nicht nur ausführen, ohne einen Webserver mit. Öffnen von HTML-Dateien in Ihrem Browser ist Client-Seite und PHP ist Server-Seite.

0

Zuerst denke ich, Sie haben keine Apache-Server ausgeführt, um Ihren PHP-Code richtig zu machen. Und senden Sie die Daten mit POST no GET, müssen Sie die POST-Methode verwenden, um mit den Daten umzugehen.

<?php 
    if(isset($_POST['login'])) { 
     echo "Hello " . $_POST["username"]; 
    } 
?> 
1

sollten Sie das $ _GET ändern [ "username"], um $ _POST [ "username"] Variable es

richtig zu arbeiten
<?php 
    if(isset($_POST['login'])) { 
     echo "Hello " . $_POST["username"]; 
    } 
?> 
+0

aber ich möchte nicht, dass der Wert in der URL sichtbar ist – nova