2017-02-15 63 views
0

我有一個登記表http://mutualpay.byethost7.com/wp/register.php?i=1 ..我的表單動作是signup.php ..我創建的文件,但它似乎並沒有工作,當我點擊註冊按鈕它加載到http://mutualpay.byethost7.com/wp/signup.php?i=2,它喜歡它的文件使用在線文件管理器上傳文件到您的網站

這是我signup.php代碼中沒有執行代碼

<?php session_start(); include 'dpconfig.php'; 
$first = $_POST['firsts']; 
$last = $_POST['last']; 
$uid = $_POST['uid']; 
$pwd = $_POST['pwd']; 

if (empty($firsts)){ 
header("Location: register.php?error=empty"); 
    exit(); 
} 
if (empty($last)){ 
header("Location: register.php?error=empty"); 
    exit(); 
} 

if (empty($uid)){ 
header("Location: register.php?error=empty"); 
    exit(); 
} 

if (empty($pwd)){ 
header("Location: register.php?error=empty"); 
    exit(); 
} 
else { 
    $sql = "INSERT INTO user (firsts, last, uid, pwd) 
VALUES ('$firsts', '$last', '$uid', '$pwd')"; 
    $result = $conn->query($sql); 
    header("Location: index.php") 
} 

它像不執行這個代碼,COS點擊註冊按鈕後,它帶來了一個空白頁面,我不知道可能是什麼原因,任何幫助表示讚賞。謝謝

+1

PHP中的空白頁通常是錯誤的標誌。檢查PHP日誌。您還可以啓用錯誤報告以在頁面上顯示錯誤。還要注意,你的代碼對於SQL注入來說是全開放的,所以你可以試着去執行任何事情。 – David

回答

0

在第一次空檢查時,檢查一個未定義的變量($firsts)。我想你的意思是$first,但是php並不像我們人類那樣猜測。

更改您的代碼

if (empty($first)){ 

編輯:你也可以合併這4個空的檢查到一個如果,爲了 有更少的代碼和更好的可讀性:

if (empty($first) || empty($last) || empty($uid) || empty($pwd)){ 
    header("Location: register.php?error=empty"); 
    exit(); 
} 
+0

我沒有任何問題,我的代碼,問題是爲什麼我的表單操作不能正常工作 – Caroline

0

問題來自您的主人,byet。
Byet使用一個「antibot」系統,它將JavaScript(通常不由機器人執行)重定向到同一位置,並將1傳遞給我傳遞的參數。
問題是:重定向時不會傳遞post參數,這意味着$ _POST var'll是空的。

另外檢查是否isset($_POST['firsts'])和您傳遞給$ _POST變量的參數或它可能會創建未定義的var錯誤。

+0

該代碼與xampp正常工作,試圖用byethost上傳它,而不執行任何操作,我該怎麼做 – Caroline

+0

也許嘗試傳遞參數GET(在URL中)而不是POST。 – Ad5001

+0

仍然無法正常工作,如果我從另一臺主機更改爲另一臺主機,它會如何工作 – Caroline