Следующий код работает в Chrome. Но в Firefox шаг отправки не работает
<?php if(!isset($_POST['submit'])){ ?> <form action="" method="post"> <b>ID:</b> <input name="std_no" type="text" /> <input type="image" width="100" value="submit" name="submit" id="submit" src="images/butup.gif" alt="submit Button"> </form> <?php } else { $id=$_POST['std_no']; echo $id; } ?>
Проблема в том, что отправитель изображения не отправляет имя «отправить», он отправляет «submit_x» и «submit_y»,
Поэтому вы должны проверить
if (isset($_POST['submit_x']))...
EDIT: я сделал немного больше тестов на этом, и он появляется в Firefox (16) и IE (7, 8, 9), только отправленные x и y отправляются, тогда как в Chrome (23) и Safari (5.1) он также отправляет имя тоже вместе с x и y.
Таким образом, самым безопасным способом является проверка значения: isset($_POST['name_x'])
<?php if(!isset($_POST['submit'])){ $id=$_POST['std_no']; // put it here so whenever you click submit button echo $id; // $_POST is trigger ?> <form action="/**input action**/" method="post"> <b>ID:</b> <input name="std_no" type="text" /> <input type="image" width="100" value="submit" name="submit" id="submit" src="images/butup.gif" alt="submit Button"> </form>
вы должны ввести в action=""; // the php page of your code or the page where you want to get the data sample page.php
action=""; // the php page of your code or the page where you want to get the data sample page.php
или попробуйте это
<?php echo htmlentities($_SERVER['PHP_SELF']); ?> // put in action