2014-02-09 6 views
0

Я хочу, чтобы запустить страницу PHP, когда кнопка отправки щелчка, вот мой код:Как запустить php при нажатии кнопки?

echo "<tr><td colspan=3> 
    <form method='post'><table><tr><td> 
    <h4>Quantity</h4></td><td><input type=text name='qnt' /></td><td> 
    <input type='button' value='Add to card' name='buy' /></td></tr></table> 
    </form> 
    </td></tr>"; 

     if(isset($_POST['buy'])){ 
     echo "<script type='text/javascript'> alert('successful'); </script>"; 
    include("addtocard.php"); 
    } 

ответ

0

Я проверил ваш код с некоторыми из вещей, о которых уже упоминалось, включая то, что было сказано в comment, в том числе о количестве, введенном во входной форме формы.

Sidenote: Не зная, что находится внутри файла addtocard.php, я использовал свои собственные основные коды для производства (воспроизвести) успешное испытание. Примечания приводятся ниже.

Использование:

<?php 
    echo "<tr><td colspan=3> 
    <form method='post'><table><tr><td> 
    <h4>Quantity</h4></td><td><input type=text name='qnt' /></td><td> 
    <input type='submit' value='Add to card' name='buy' /></td></tr></table> 
    </form> 
    </td></tr>"; 

     if(isset($_POST['buy'])){ 
    echo "<script type='text/javascript'> alert('successful'); </script>"; 
    include("addtocard.php"); 

} 

Sidenote: Можно также добавить action='' для действия формы.

I.e .: <form method='post' action=''>, который будет представлен как «я».

И следующее внутри addtocard.php, которое я взял на себя, чтобы испытать, создавая успешный результат.

<?php 
$qnt = $_POST['qnt']; 
echo "Quantity: " . $qnt; 

и введите номер 100 в форме, и в самом деле эхо 100 и это было произвести всплывающее уведомление о successful также.

Вы можете также использовать дополнительный условный оператор, чтобы проверить, если кнопка отправить установлена, и что количество было введено:

<?php 
    echo "<tr><td colspan=3> 
    <form method='post'><table><tr><td> 
    <h4>Quantity</h4></td><td><input type=text name='qnt' /></td><td> 
    <input type='submit' value='Add to card' name='buy' /></td></tr></table> 
    </form> 
    </td></tr>"; 

     if(isset($_POST['buy']) && !empty($_POST['qnt'])){ 

echo "<script type='text/javascript'> alert('successful'); </script>"; 
include("addtocard.php"); 
} 
else { 
echo "Enter a quantity."; 
} 
0

изменения

<input type='button' value='Add to card' name='buy' /> 

в

<input type='submit' value='Add to card' name='buy' /> 
1

Чтобы быть абсолютно безопасными, там должно быть два изменения:

<form method='post'> 

Должен иметь атрибут действия, указывающий на расположение файла на сервере, т.е.

<form method='post' action="/myfile.php"> 

также:

<input type='button' value='Add to card' name='buy' /> 

Должно быть

<input type='submit' value='Add to card' name='buy' /> 
+0

Я сделал это, но я до сих пор тот же problem..didn't work –

+0

Нет ничего плохого в этом ответе. Я проверил ваш код с ответом Криспена, и он сработал. Плюс, ваш опубликованный код не имеет '

+0

@ Fred-ii- да, вы правы, я пытаюсь опубликовать количество в' addtocard.php'. btw Я сделал то же самое на другой странице, и он работал успешно, но в этом коде, когда я нажимаю кнопку отправки, страница перезагружается. –

0

Вы могли бы, возможно, требуется изменить значение с "кнопки", чтобы "представить" это могло бы работать. Успехи и вот пример:

<input type="submit" value='Add to card' name="buy" action= "<?php echo htmlentities($_SERVER['PHP_SELF']); ?>"/> 

EDIT: Пользователь ниже говорил о действии, совершенно забыл, но ваш код, кажется interigrate его в файл, поэтому вы можете использовать этот пример. Удачи.

EDIT 2: У PHP_SELF есть эксплойт, о котором я полностью забыл. Я обновил код. И что не так с кодом? Кажется хорошо.

1

Похоже, что некоторые другие попытались ответить на это, но я думаю, что здесь отсутствует основная проблема с вашим кодом. PHP не работает на стороне клиента, только на стороне сервера. Вам нужно (как заявили другие) фактически передать форму службе PHP для проверки значений, которые пользователь вводит в вашу форму.

Возможно, вам захочется прочитать немного больше о том, как работает PHP, это может быть немного запутанным, поскольку он выводит HTML, но вообще не присутствует на фактической веб-странице, которую видят ваши пользователи. This link из документации PHP может немного помочь.

+0

Честно говоря, я должен был прокомментировать это, но я даже не понял, что там было сломанное понимание. Хороший улов. –

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