что эквивалентно ispostback (.NET) в PHP? - PullRequest
2 голосов
/ 26 июля 2011

Я только начинаю кодировать в PHP, я написал свою первую php + mysql программу для вставки данных через веб-форму. он работает нормально, но всякий раз, когда я обновляю страницу, он автоматически сохраняет нулевую запись в моей базе данных. я знаю решение в .NET ispostback, но не в php? Может ли кто-нибудь дать мне представление о PHP.

Код здесь:

<body>
<form action="mySQLTest.php" method="post">
First Name :<input type="text" name ="txtFirstName"/> <br/>
Last Name: <input type="text" name ="txtLastName"/>   <br/>
Age : <input type="text" name= "txtAge" /> <br/>
<input type="submit"/>
</form>
<?php
   $con = mysql_connect("localhost","root","");
   if(!$con)
   {
    die('Could not Connect:' .mysql_error());
   }

   mysql_select_db("test", $con);

   if($_REQUEST[])
   {

   $sql1 = "Insert into info(FirstName, LastName, Age) Values('$_POST[txtFirstName]','$_POST[txtLastName]','$_POST[txtAge]')";
   }
   if(!mysql_query($sql1, $con))
   {
    die('Error: '.mysql_error());
   }
   else                                
   {
   echo "1 Record Added";
   }

   mysql_close($con)
?>
</body>

Ответы [ 2 ]

4 голосов
/ 26 июля 2011

Вы пробовали if ($_SERVER['REQUEST_METHOD']=='POST')

обновленный ответ :

if ($_SERVER['REQUEST_METHOD']=='POST') {
[insert...]
header('Location: added_record.php');
}
1 голос
/ 26 июля 2011

Когда вы используете POST-метод, лучше (imho) использовать $ _POST, а не $ _REQUEST. Чтобы проверить, есть ли у вас данные, вы можете использовать isset($_POST['txtFirstName']);. Если вам нужны все данные, лучше всего сделать это для всех полей ввода, в результате чего

if(isset($_POST['txtFirstName']) && isset($_POST['txtLastName']) && isset($_POST['txtAge'])) {
    // do stuff
}

Если вы хотите узнать, было ли какое-либо поле, отправленное с помощью сообщения, вы можете использовать if(!empty($_POST)) {.

С другой стороны: я знаю, что вы только запускаете PHP, может быть довольно опасно использовать пользовательский код в запросах. Когда вы создаете материал в Интернете, чтобы каждый мог его найти, прочитайте немного о SQL инъекция . Это также предотвратит взлом вашего кода, когда кто-то вводит апостроф (').

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...