2013-12-04 2 views
0

Мне нужно сохранить пользовательский ввод в переменную PHP, но я не могу этого сделать. Вот код, который извлекает значения из базы данных:Как получить значение из HTML в переменную PHP?

<?php 

while($Row = mysql_fetch_array($Query_Result)) 
{   { 

?>        
       <tr> 
       <td><?php echo $Row['Product_Name'] ?></td> 
       <td><?php echo $Row['Product_Type'] ?></td> 
       <td><?php echo $Row['Product_Price'] ?></td> 

//the "qty" box does not exist in the database. I want user to enter a number in "qty" box and that number should be stored in a php variable 

       <td><input id="qty" type="number" name="qty" ></td> 
       <td><input type="button" value="Add to Cart" onclick="addtocart(<?php echo $Row['Product_ID'] ?>)"</td> 
       </tr> 
    <?php 

    } 

?> 

Вот Javascript для AddToCart функции():

<script language="javascript"> 
function addtocart(pid) 
{ 

    document.form1.Product_ID.value=pid; 
    document.form1.command.value='add'; 
    document.form1.submit(); 
} 
</script> 

<?php 
require 'ConnectDB.php'; 
require 'functions.php'; 


if(isset($_REQUEST['command']) && $_REQUEST['command']=='add' && $_REQUEST['Product_ID']>0) 
{ 
    $pid=$_REQUEST['Prodcut_ID']; 
    // This addtocart() function here sets the qauntity to 1 by default.. I want it to be dynamic. User should input the qauntity and I should be able to pass it to the addtocart()  function 

    addtocart($pid,1); 
    header("location:shopping.php"); 
    exit(); 
} 
?> 

Пожалуйста, помогите!

+0

И вы не сможете этого сделать, поскольку к тому времени, когда пользователь вводит что-то, код, составляющий страницу, уже давно отправлен с сервера, и единственный способ вернуть данные на сервер - это перезагрузить страницу или вручную отправить данные с помощью чего-то вроде ajax. – adeneo

+0

Взгляните на [Обработка форм] (http://php.net/manual/en/tutorial.forms.php) –

ответ

0

Код выше не очень хорошо отформатирован, поэтому я редактировал для вас:

<?php while($Row = mysql_fetch_array($Query_Result)): ?> 
    <tr> 
     <td><?php echo $Row['Product_Name'] ?></td> 
     <td><?php echo $Row['Product_Type'] ?></td> 
     <td><?php echo $Row['Product_Price'] ?></td> 

     <!-- the "qty" box does not exist in the database. I want user to enter a number  in  "qty" box and that number should be stored in a php variable --> 

     <td><input id="qty" type="number" name="qty" ></td> 
     <td><input type="button" value="Add to Cart" onclick="addtocart(<?php echo $Row['Product_ID'] ?>)"</td> 
    </tr> 
<?php endwhile ?> 

Что вам нужно сделать, это добавить поле ввода, как вы есть, и поместить идентификатор строки в нее что-то вроде этого (Я предполагаю ваш идентификатор строки id ...

<input id="qty" type="number" name="qty[<?php echo $Row['id'] ?>]" > 

Затем вы можете использовать действие PHP POST или JavaScript AJAX на это, чтобы представить это и хранят его, это отдельный аспект, который необходимо решить, прежде чем люди смогут помочь ...

+0

Я пробовал использовать PHP POST-метод, но получаю сообщение об ошибке «Неопределенный индекс« qty »« Не могли бы вы помочь? меня с методом POST? – shellcode

+0

Не могли бы вы помочь? – shellcode

+0

@ Kaps Я не могу помочь, потому что вы не поделились каким-либо кодом, что означает, что я мог бы понять, что происходит, и вопрос не очень ясен. – unknowndomain

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