Код работает в Chrome, но не в Firefox

Следующий код работает в 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