2012-05-26 6 views
1

Я пытаюсь понять mysql в сочетании с php и просто попытался создать форму , чтобы что-то обновить в базе данных.дополнительные параметры форму

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

Предположим, у вас есть следующий код:

<?php 
$oldvalue = $_REQUEST['value']; 
?> 
<form action="change.php"> 
<input type="text" name="newvalue" value="<?= $oldvalue ?>"> 
<input type="submit" value="send"> 
</form> 

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

UPDATE test SET value='$newvalue' WHERE value='$oldvalue' 

Проблема is: как отправить oldvalue вместе с формой? Так что я могу запустить запрос в change.php

Спасибо!

+0

Я предлагаю использовать $ _POST и $ _GET массивы, а не глобальный $ _REQUEST, и избежать переменных, прежде чем вставлять их в БД. –

+0

Почему лучше делать Post или Get? Я понимаю, почему я должен избегать, теперь он уязвим для инъекций mysql правильно? – Gooey

+0

Да, вам следует избегать этого, чтобы предотвратить инъекции SQL. Вы также можете использовать PDO, который выполняет эту работу (подготовленные операторы). - Я предложил не использовать $ _REQUEST ради того, чтобы знать о том, какие данные вы используете и откуда. Я не знаю, есть ли другие недостатки, потому что я все равно не использую его. –

ответ

1

Положите старое значение в скрытом ввода:

<input type="hidden" name="old_value" value="<?php echo $oldvalue ?>" /> 
+0

Это делает работу ^^ спасибо – Gooey