2016-08-04 34 views
0

所以我試圖設計一個網站,允許用戶輸入數據來設計一個塔。當談到塔的基本部分的尺寸(高度,寬度和深度)時,我想以高x寬x深的格式(即3 x 2 x 2)呈現它們。麻煩的是,我在PHP文件中連接網站的第二頁時遇到了問題,其中顯示了所有內容。POST命令(PHP)拒絕拼接

這裏是我的代碼看起來像至今:

<!DOCTYPE html> 
<html> 
<head> 
    <title>Results for tower design</title> 
</head> 
<body> 
    Pillar base shape: <?php echo $_POST["tBase"]; ?><br> 
    Pillar dimensions: <?php echo ($_POST["tHeight"];)." x ".($_POST["tWidth"];)." x ".($_POST["tDepth"];) ?><br> 
</body> 
</html> 

這是非常可能的,我可能犯了一個常見的錯誤初學者。如果是這樣,我想知道我錯在哪裏以及如何避免它。

+1

從手動http://php.net/manual/en/language.basic-syntax.instruction-separation.php *「如同在C或Perl,PHP要求指令在每個語句的末尾用**作爲終止符**一段PHP代碼的結束標記自動錶示一個分號;您不需要用分號來終止PHP塊的最後一行結束標記「* –

+0

...並且運行這個,會拋出你'解析錯誤:語法錯誤,意外的';'在...'中,但是您未能檢查錯誤或發佈錯誤。 –

回答

2

你在不適當的地方有一些額外的分號。分號表示PHP語句的結尾。你不應該在構建字符串的時候使用它們。

($_POST["tHeight"];) 

刪除它們,並確保你淨化你的輸出(或者你會開到XSS attacks

htmlspecialchars($_POST["tHeight"])." x ".htmlspecialchars($_POST["tWidth"])." x ".htmlspecialchars($_POST["tDepth"]) 

運行此,將拋出你:Parse error: syntax error, unexpected ';' in...

使用測試期間的錯誤報告。

另外,請確保您的POST數組包含值和表單使用POST方法相匹配的命名的屬性。

+0

,你知道他們說什麼關於分號*呃?* ;-)編輯:啊,你做到了。我的錯。 –

+0

關於該手冊的墨跡:http://php.net/manual/en/language.basic-syntax.instruction-separation.php –

+0

@ Fred-ii-好東西 – Machavity

0

有趣的事實,你可以擁有一切顯示爲單條線:

Pillar dimensions: <?php echo "{$_POST["tHeight"]} x {$_POST["tWidth"]} x {$_POST["tDepth"]}"; ?> 

每反響,用雙引號包裹可以具有可變呼應了剛剛與{}包裝。

0

刪除semicolumns

<?php echo ($_POST["tHeight"] ." x ".$_POST["tWidth"] ." x ".$_POST["tDepth"]); ?>