2015-02-17 2 views
3

У меня есть HTML-форму для Id получить от посетителяполучить идентификатор из HTML формы - PHP

<form action="show.php" method="post"> 
<p>Your id: <input type="text" name="id" /></p> 
<p><input type="submit" /></p> 
</form> 

и файл PHP для этого акта.

<?php 
$id = ((int)$_GET["id"]); 
$con=mysql_connect('localhost','user','pass'); 
mysql_select_db('dbname',$con); 
$query="SELECT * FROM `users` WHERE id = '$id'"; 
$select=mysql_query($query); 
while($row=mysql_fetch_array($select)){ 
echo $row['name']; 
} 
mysql_close($con); 

?> 

, но он не работает, не может читать идентификатор, pelase помочь мне решить эту проблему

Спасибо

+1

использования ** $ _POST ** или ** $ _ REQUEST ** для сбора данных формы, отправленных с использованием метода post – starkeen

+1

@CodingHorror: использование $ _REQUEST никогда не является хорошей практикой, потому что оно создает ненужные дыры в безопасности, когда вы недостаточно тщательно только один раз. Вам всегда лучше использовать явные $ _POST или $ _GET именно для того источника данных, который вы ожидаете получить от – serjoscha

+0

, спасибо вам за полную информацию, проблема решена. это была моя сумасшедшая ошибка: D – Achilles

ответ

4

Как вы использовали метод формы "пост", идентификатор переменный будет доступны в массиве _POST глобальных $ поэтому используйте:

<?php 
$id = ((int)$_POST["id"]); 
.... 
+0

omg: D ты прав. Спасибо . я сумасшедшая ошибка – Achilles

7

Вы отправляете данные через POST. То определяется атрибутом «метод» в вашей тег формы:

<form action="show.php" method="post"> 

Таким образом данные не будут сохранены в $ _GET, но в $ _POST.

Таким образом, доступ к ID использовать $ _POST [ 'ID'] не $ _GET [ 'ID']

+0

omg: D ты прав. И ты тоже: D. я сумасшедшая ошибка – Achilles

3

Используйте POST для получения Get, потому что используйте заданный метод отправки для формы.

$id = ((int)$_POST["id"]); 
2

Ваша форма представления данных через POST, так что вы должны принять его с помощью метода POST

<?php 
    $id = $_POST['id']; 
?> 

иначе изменить метод GET и записать его как этот

$id = ((int)$_GET["id"]); 
Смежные вопросы