2013-12-12 51 views
0

我有一些非常簡單的PHP代碼,我用它來確認表單的輸入。PHP表單確認解析錯誤

HTML:

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Unit 7 - Homework 5</title> 
    </head> 
    <body> 
     <h1>Contact us</h1> 
     <table> 
      <form method="POST" action="script.php"> 
       <tr> 
        <td>First Name:</td> 
        <td><input type="text" name="First Name" id="fname"></td> 
       </tr> 
       <tr> 
        <td>Last Name:</td> 
        <td><input type="text" name="Last Name" id="lname"></td> 
       </tr> 
       <tr> 
        <td>E-mail:</td> 
        <td><input type="text" name="E-mail" id="email"></td> 
       </tr> 
       <tr> 
        <td>Comments</td> 
        <td><textarea rows="10" cols="40"></textarea></td> 
       </tr> 
       <tr> 
        <td></td> 
        <td><input type="submit" value="Contact"> &nbsp; <input type="reset"></td> 
       </tr> 
      </form> 
     </table> 
    </body> 
</html> 

PHP

<?php print "<!DOCTYPE html> 
<html lang=\"en\"> 
<head> 
    <title>Form Confirmation</title> 
</head> 
<body> 
    <h1>Congratulations, registration done!</h1>"; 
    $message = "; 
    foreach ($_POST as $key => $value) { 
     $message .= $key . ":" .$value. "<br>\r\n"; 
    } 

    print $message; 
    print "<br> 
    <br> 
    <br> 
    <br> 
    <br> 
    <br> 
    <form action=\"#\"> 
    <input type=\"button\" value=\"Back\" onclick=\"javascript:history.go(-1)\" /> 
    </form> 
</body> 
</html>" 
?> 

PHP代碼保持產生誤差。

Parse error: syntax error, unexpected ':' in <PHP path goes here> on line 10 

我不知道我在做什麼錯,雖然我覺得我可能忘記了一個分號。

+0

看到,語法高亮顯示這裏的確切位置誤差。 -1,因爲語法錯誤對於stackoverflow來說很少是很好的問題:大多數情況下,最好的情況是,它們太本地化,不適合我們的社區。 –

回答

3

PHP解析器得到這個困惑:

$消息= 「;」

$消息=更換」;

0

你在這裏:

$message = "; 

也許是:

$message = ""; 

而且,你不需要聲明它用這種方式,你還可以:

$message; 
1

除了錯誤$message = ";$message = "";您正在使用printprint顯示消息(print $message)。

替代的解決方案: -

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <title>Form Confirmation</title> 
</head> 
<body> 
    <h1>Congratulations, registration done!</h1> 
    <?php 

    $message = ''; 
    foreach ($_POST as $key => $value) { 
     $message .= $key . ":" .$value. "<br>\r\n"; 
    } 

    print $message; 
    ?> 
    <form action="#"> 
    <input type="button" value="Back" onclick="javascript:history.go(-1)" /> 
    </form> 
</body> 
</html> 
+0

等等,我可以將PHP代碼添加到HTML中,並且只有一個文件而不是兩個?我現在PHP是一種服務器端腳本語言,但由於這只是一項家庭作業,我們的目標是在本地執行它。 –

+0

不,您不能將php代碼添加到HTML中。它甚至不會解析代碼。所有的php代碼都會在你的網頁上顯示而不會出現任何錯誤。 – Roopendra

0

你唯一的錯誤是,你已經把文本thjat你想PHP在雙引號打印,這意味着如果它需要PHP將對其進行評估,看看用它來處理事情。相反,你應該把它放在這樣的單引號中:...':'...

單引號中引用的任何內容都將按原樣逐個打印。 任何使用雙引號的內容都會被評估。

0

我認爲這可能是

$message = ""; 
foreach ($_POST['somevalue'] as $key => $value) { 
    $message .= $key . ":" .$value. "<br>\r\n"; 
}