2013-07-28 62 views
-1

我與數據庫的連接的形式發送到數據庫,但是當我用我的提交按鈕,它說:「未找到

請求的URL/php/GIP /'$ _SERVER ['PHP_SELF']'在此服務器上找不到。「

echo '<td><form action=" \' $_SERVER[\'PHP_SELF\'] \' " method="POST" class="Keuze"> 
     <select name="Keuze"> 
     <option>0</option> 
     <option>1</option> 
     <option>2</option> 
     <option>3</option> 
     <option>4</option> 
     <option>5</option> 
     </select> 
     <p><input type="submit" name="submit" value="Bestellen"></p> 
     </form></td>'; 

我該如何解決這個問題,因此它可以找到它,如果我想使用一個不同的文件比這個文件我已經在我應該怎麼做工作?

+0

看看生成的HTML的正確方法 - 它看起來像你嵌入實際的PHP代碼,而不是評估值。 – Lix

+0

你應該避免使用直接的URL。它可能會導致XSS或使用urlencode。 – TPSstar

回答

3

有幾件事情錯了你的串成形。

action=" \' $_SERVER[\'PHP_SELF\'] \' " 
      ^-----------^---------^---^--- you have escaped the 
terminating single quotes causing the string to not terminate. 
also you have escape the single quotes in key association. also 
you have included the variable inside a single quote block causing the 
variable not to expand. the result is a literal $_SERVER['PHP_SELF'] ' 
being displayed. 

來處理這種情況將如下

echo '<td><form action="' . $_SERVER['PHP_SELF'] . '" ..... 
+0

這適用於這個頁面,但如果我想重定向到一個不同的頁面,我應該放在'PHP_SELF'的地方嗎? – Jerre44

0
echo '<td><form action=" '. $_SERVER['PHP_SELF'] .' " method="POST" class="Keuze"> 
     <select name="Keuze"> 
     <option>0</option> 
     <option>1</option> 
     <option>2</option> 
     <option>3</option> 
     <option>4</option> 
     <option>5</option> 
     </select> 
     <p><input type="submit" name="submit" value="Bestellen"></p> 
     </form></td>'; 

你必須加入串

+1

稍微解釋一下這裏會有很長的路... – Lix

相關問題