2017-08-13 122 views
-1

我知道這是一個常見問題,但我檢查了空格,檢查了文件的編碼,我無法解決這個問題。PHP重定向失敗

當我提交此表單時,它應該重定向到'successful_login.php',但它不會只是保持在同一頁面上。

available_update.php

<?php 
    include 'credentials.php'; 
    $conn = new mysqli($servername, $username, $password, $dbname); 
    if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
    } 
    $ID=$_POST['ID']; 
    $available=$_POST['available']; 
    $sql = "UPDATE users SET available='$available' WHERE ID='$ID'"; 
    if ($conn->query($sql) === TRUE) { 
    header("http://www.jtsanderson.co.uk/users/successful_login.php"); 
    } else { 
    echo "Error updating record: " . $conn->error; 
    } 
    $conn->close(); 
?> 

credentials.php

<?php 
    $servername = "****"; 
    $username = "****"; 
    $password = "****"; 
    $dbname = "****"; 
?> 

HTML表單

<div class="w3-half"> 
    <form action="availableupdate.php" method="post" id="available"> 
    <input type="hidden" name="ID" value="<?php echo $userData['id'] ?>"> 
    <input type="hidden" name="available" value="Yes"> 
    </form> 
    <button type="submit" form="available" name="signupSubmit" 
      class="w3-button w3-block w3-green w3-section" title="Accept"><i class="fa fa-check"></i></button> 
</div> 
+0

此代碼是開放的一個嚴重的SQL注入。如果這是你的意圖,不要與此一起生活。 –

+0

我確實這樣想過,但由於唯一的輸入是隱藏的,除了按鈕之外,沒有其他選項可以讓任何人改變輸入嗎? –

+0

此外,這只是一個頁面,您可以訪問時登錄和本地社區類型的項目,所以它不會是世界的盡頭! OMG !! –

回答

0

你是錯誤地使用header()

您需要更改

header("http://www.jtsanderson.co.uk/users/successful_login.php"); 

header("Location: http://www.jtsanderson.co.uk/users/successful_login.php"); 
+0

OMG !!不能相信我錯過了,直到凌晨四點半才編碼,我的大腦不能正常工作。非常感謝你的幫助。 –

+0

不客氣,如果它幫助你,請[upvote並接受答案](https://stackoverflow.com/help/someone-answers)快樂編碼! :) –