2014-01-28 33 views
1

我嘗試後值2.php,當輸入null它會回到1.php,然後顯示一個錯誤信息,網址改爲1.php/?error=1URL變化時提交的點擊兩次PHP

問題是,當我不小心點擊了提交按鈕兩次,URL更改爲/1.php/2.php,有什麼想法?

1.php

<?php 
if(isset($_GET['error']) && $_GET['error'] == 1) 
{ 
    echo "Error"; 
} 
?> 

<form method="Post" action="2.php"> 
<input type="text" name="firstname"> 
<input type="text" name="secondname"> 
<input type="submit" name="submit"> 
</form> 
?> 

2.php

if(isset($_POST["submit"])) 
{ 
    $first = $_POST["firstname"]; 
    $second = $_POST["secondname"]; 

    if($first == "" || $second == "") 
    { 
     header("Location: 1.php/?error=1"); 
     die(); 
    } 
    else 
    { 
     echo $first; 
     echo $second; 

    } 

} 
+4

該問題可能是'.php'之後的斜槓和問號之前的問題。嘗試刪除它。 –

+0

這是有效的,1.php?error = 1,你能解釋爲什麼嗎?對不起,我在PHP新手。 thx – user2901740

+0

添加斜槓本質上說,將要處理請求的文件位於目錄*下面* 1.php中,並由名爲index.php的文件處理,該文件是未指定時使用的默認文件。通過刪除斜槓,將查詢字符串追加到適當的頁面,從而解決您的問題。 –

回答

0

A)在HTML中使用的基本標籤

<head> 
    <base href="http://127.0.0.1/"> 

B)前面加上一個斜線每個鏈路

<form action="/2.php"> 

C)禁用按鈕首次點擊

<script> 
    document.forms[0].addEventListener('submit', function() { 
     var submitButton = document.forms[0].querySelector('[type="submit"]'); 
     submitButton.setAttribute('disabled', 'disabled'); 
    }, false); 
<script> 

...或者它們的一些組合後。

0

將重定向代碼修改爲;

header("Location: ./1.php?error=1"); 
相關問題