2012-12-24 54 views
0

我有一個問題,通過值$result從不同的頁面到另一個頁面。

當我POST$result進入此頁面。它工作正常,我回應出來。

但是,如果我嘗試將此$result轉換爲isset()表格並將其張貼回自我。
該值將成爲未定義索引。第2頁

PAGE1

<?PHP 
$connect=mysql_connect('localhost', 'root', ''); 
$db=mysql_select_db('survey', $connect); 
$SQL="SELECT * FROM question"; 
$data=mysql_query($SQL); 
$num=mysql_num_rows($data); 

$start=0; 
?> 


<style type="text/css"> 
#survey{ 
    width:100%; height:50px; 
    background:#e6e6e6; border-bottom:solid 1px white; 
    } 

#survey form{ 
    position:relative; 
    left:320px; top:15px; 
    float:left; 
    } 

#survey form a{ 
    text-decoration:none; 
    color:black; 
    } 

.submit{ 
background-color: transparent; 
border: none; 
cursor: pointer; 
} 

</style> 

<html> 
<div id="container"> 

<?PHP 
if($num<3){ 
    echo " 
    <div id='create'><a href='question.php'>+ Create a Survey</a></div> 
    "; 
} 
?> 


<?PHP 
while($start<$num){ 
    $result=mysql_result($data, $start, 'ID'); 
    $list_num=$start+1; 

     $ID=$result['ID']; 

     $list=" 
      <div id='survey'> 
       <span style='font-size:24px; color:gray; position:relative; float:left; left:10px; top:13px;'> 
       SURVEY 0$list_num 
       </span> 

       <form action='survey.php' method='POST'> 
        <input class='submit' type='submit' name='submit1' value='View' /> 
        <input type='hidden' name='result' value='$ID'/> 
       </form> 

       <form action='update.php' method='POST'> 
        <input class='submit' type='submit' name='submit2' value='Edit' /> 
        <input type='hidden' name='result' value='$ID'/> 
       </form>    

       <form action='delete.php' method='POST'> 
        <input class='submit' type='submit' name='submit3' value='&#10005 Delete' /> 
        <input type='hidden' name='result' value='$ID'/> 
       </form> 

      </div> 
     "; 

    echo $list; 
    $start++; 
    } 
?> 

</div> 
</html> 

PAGE2

<?PHP 
    $result=$_POST['result']; 

    $error=""; 
    if(isset($_POST['submit'])){ 
     $question=$_POST['question']; 
     $answer_a=$_POST['a']; 
     $answer_b=$_POST['b']; 
     $answer_c=$_POST['c']; 


     if($question && $answer_a && $answer_b && $answer_c){ 
      $connect=mysql_connect("localhost", "root", ""); 
      $db=mysql_select_db("survey", $connect) or die(""); 

      $SQL="UPDATE question SET question='$question', answer_a='$answer_a', answer_b='$answer_b', answer_c='$answer_c' 
      WHERE ID='$result'"; 
      mysql_query($SQL); 
      $SQL="UPDATE answer SET question='$question', answer_a='0', answer_b='0', answer_c='0' 
      WHERE ID='$result' "; 
      mysql_query($SQL); 
      header("location:create.php"); 
     } 
     else{$error="<div style='color:white; background:gray; width:200px; height:20px; text-align:center; line-height:20px;'>" 
     . "Please fill all the field." . "</div>";} 
    } 


    ?> 
<style> 
body{ 
    font-family:Arial, Helvetica, sans-serif; 
    font-size:14px; 
    } 

</style> 

<html> 
<form action="update.php" method="POST"> 
Question<br /><input type="text" name="question" placeholder=" Enter your question here" maxlength="50" /><br/><br/>Answer<br/> 
a<input type="text" name="a" placeholder=" Answer a" maxlength="50"/> 
b<input type="text" name="b" placeholder=" Answer b" maxlength="50"/> 
c<input type="text" name="c" placeholder=" Answer c" maxlength="50"/> 
<input type="submit" name="submit" value="SAVE"/> 
</form> 
<?PHP echo $error; ?> 
</html> 
+1

這是什麼意思? **但如果我嘗試將此$結果傳遞給isset表單並將其發回自我。** – samayo

回答

0

嗨,非常感謝你的幫助 我找到了解決方案 我認爲問題是當我將值傳遞給第二種形式時,我需要重新發送值。這是我做的。 如果(isset($ _ POST ['result'])){ $ result = $ _ POST ['result'];第一個來自上一頁,第二個是表單發佈到自身 ; echo $ result; }

if(isset($_POST['data'])){ 
    $ID=$_POST['data']; 
    echo $ID; 
    } 

添加另一個隱藏在形式和重新發送值

<input type="hidden" name="data" value="<?PHP echo $result;?>"/> 

更改MySQL值

WHERE... ID='$ID'"; 
0

嘗試編輯這個

<html> 
<form action="update.php" method="POST"> 

對此

<html> 
<form action="" method="POST"> 
相關問題