2015-05-25 3 views
0

Я хочу спросить, существует ли какой-либо конфликт $ _POST в php? У меня есть один $ _POST, чтобы получить значение из предыдущей страницы (PHP ASKAssessmentMarks.php) с помощью Ajax и тогда я хочу, чтобы получить другое значение из входного текста (GetCriteria.php)

ASKAssessmentMarks.php

function showCriteria(str){ 
     if (str == "") { 
      document.getElementById("txtHint").innerHTML = ""; 
      return; 
     } else { 
      if (window.XMLHttpRequest) { 
       // code for IE7+, Firefox, Chrome, Opera, Safari 
       xmlhttp = new XMLHttpRequest(); 
      } else { 
       // code for IE6, IE5 
       xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
      } 
      xmlhttp.onreadystatechange = function() { 
       if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
        document.getElementById("txtHint").innerHTML = xmlhttp.responseText; 
       } 
      } 

      //xmlhttp.open("GET","GetCriteria.php?q="+str,true); 
      //xmlhttp.send(); 

      xmlhttp.open("POST", "GetCriteria.php", true); 
      xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
      xmlhttp.send("q=" + str); 
     } 
    } 

GetCriteria.php

$id =0; 
$no = 1; 

$rowNumber = mysql_num_rows($result_2); 

echo '<form action="" method="post">'; 
echo "<input type ='hidden' name='rowNumber' value='$rowNumber'>"; 

while($row = mysql_fetch_array($result_2)){ 

    echo "<input type ='hidden' name='weightage$id'  value=".$row['weightage'].">"; 
echo "<input type ='hidden' name='points$id' id='points$id'>"; 

echo '<tr><td align = "center">'.$no.'</td>'; 
echo '<td align = "center">'.$row['criteria_name'].'</td>'; 
echo '<td align = "center">'.$row['weightage'].'</td>'; 
echo 
    '<td><input type="range" name="criteria_'.$id.'" min="0" max="5" value="0" step="1" id = "slider" style="width:700px" onchange="showValue('.$id.',this.value)" /> 
     <label style="margin-left: 65px"></label> 
     <label style="margin-left: 55px">Very Poor</label> 
     <label style="margin-left: 75px">Poor</label> 
     <label style="margin-left: 80px">Moderate</label> 
     <label style="margin-left: 90px">Good</label> 
     <label style="margin-left: 70px">Excellent</label></td> 
    <td align = "center"><span id="range'.$id.'">0</span></td>'; 

$id++; 
$no++; 

} 
    echo "</tr></table>"; 
    echo '<br/><button>Compute Score</button><br/>'; 
    echo "</form>"; 


if(isset($_POST['rowNumber'])){ 

    echo "<script>alert('Total mark is calculated!')</script>"; 

    //Get the total row number from database 
    $number = $_POST['rowNumber']; 

    $totalPercentage = 0; 
    $total_02 = 0; 

    //Calculate the result 
    for($i = 0; $i < $number; $i++){ 

    $weightage = $_POST['weightage'.$i];      
    $points = $_POST['points'.$i]; 

    //Calculate total weightage 
    $total_01 = $weightage * 5; 
    $total_02 += $total_01; 

    //Calculate total points gained 
    $subTotal = $weightage * $points; 
    $totalPercentage += $subTotal; 

} 
+0

Определить «не работает». – cHao

+0

Когда я нажимаю на кнопку, ничего не происходит. Я уже добавил больше кода в GetCriteria.php. –

ответ

1

Во-первых у вас есть это:

 xmlhttp.send("q=" + str); 
         ^---you send a parameter named 'q' 

в й, то вы посмотрите на кучу полей, которые не существуют:

$number = $_POST['rowNumber']; 
$weightage = $_POST['weightage'.$i];      
$points = $_POST['points'.$i]; 

, но все, что вы когда-либо отправленная $_POST['q'].

+0

Привет, я редактировал код. можете ли вы помочь проверить, в чем проблема с кодом? На самом деле, я хочу получить номер строки, но похоже, что все $ _POST не работают, могу ли я узнать, в чем причина? –

+0

Вы не изменили антии. вы ищете параметры, которых не существует. вот и все. $ _POST работает нормально. Это ВЫ, которые используют это неправильно. –

+0

Привет, на самом деле я хочу получить значение номера строки из скрытого текста, как показано в коде. Так можно ли это сделать? У меня есть скрытый текст ввода, расположенный над isset ($ _ POST ['rowNumber']. Или есть ли другой способ сделать это? –

Смежные вопросы