Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Передача данных edit.php -> handler.php
 
 автор: lgar   (12.03.2012 в 14:47)   письмо автору
 
 

Есть скрипт, который позволяет редактировать определенную статью.

Напимер: edit.php?id=105

Трудность в передаче id обработчику handler.php.

Пробовал вначале использовать edit.php в качестве обработчика, данные не изменились. Потом создал второй файл и задал его в форме в качестве обработчика. Данные передаются методом POST. Но id мне ведь надо передавать методом GET, пробовал это значение передавать методом POST. В общем, как лучше организовать, обработку оставить на edit.php или вынести в отдельный скрипт, как тогда передать id? Желательно, на примере.



<?php
include "db.php";
if(isset(
$_GET[id])){
   if(
$_GET[id]!= 0$where "WHERE id = '".$_GET[id]."'";
}
$query "SELECT * FROM lgar $where";
$prd mysql_query($query);
if(!
$prd) exit(mysql_error());
$_REQUEST mysql_fetch_array($prd);
var_dump($_REQUEST);
@
$day date("d"$_REQUEST[datetime]);
@
$month1 date("F"$_REQUEST[datetime]);
@
$hour date("G"$_REQUEST[datetime]);
@
$minute date("i"$_REQUEST[datetime]);
?>
<table>
<form method=post action="handler.php">
<tr><td>Тема</td><td><input type=text name=title size='74' maxlength='150' value="<?php echo $_REQUEST['title']; ?>"></td></tr>
<tr><td>Комментарий:</td><td><textarea name=comment cols="110" rows="15"><?php echo $_REQUEST['title']; ?></textarea></td></tr>
<tr><td>Время</td><td><select name="hour"> <?php
for ($i=1$i<=24$i++) {
if(
$hour == $i$temp "selected";
else 
$temp "";
echo 
"<option value=\"$i\"$temp>$i</option>"; } ?> </select>:
<select name="minute">
<option value="0">00</option>
 <?php
for ($i=10$i<60$i $i+10) {
if(
$minute == $i$temp "selected";
else 
$temp "";
echo 
"<option value=\"$i\">$i</option>$temp"; } ?> </select>
</td></tr>
<tr><td>Дата</td><td><select name="day"><?php for($i 1$i <= 31$i++) {
if(
$day == $i$temp " selected";
else 
$temp "";
echo 
"<option value=\"$i\"$temp>$i</option>\n"; } ?> </select>
<select name="month">
<?php
for($i 1$i <= 12$i++)
  {
  
$month date('F'mktime(1200$i12005));
  if(
$month1 == $month$temp "selected";
  else 
$temp "";
  echo 
"<option value=\"$i\"$temp>$month</option>";
  }
?> </select>
<select name="year"> <?php
for ($i=2012$i<=2013$i++) {
echo 
"<option value=\"$i\">$i</option>"; } ?> </select></td></tr>
<tr><td>URL:</td><td><input type=text name=url value="<?php echo $_REQUEST['url']; ?>"></td></tr>
<tr><td></td><td><input type=submit value='Изменить'></td></tr>
</form>
</table>




<?php
if(isset($_GET[id])){
   if(
$_GET[id]!= 0$id $_GET[id];

#$id = $_POST[id];
echo $id;
include 
"db.php";
$q "UPDATE lgar SET title = '$title', datetime = '$datetime', comment = '$comment', url = '$url', status = '$status' WHERE id =
'
$id'";
$prx mysql_query($q);
if(!
$prx) exit(mysql_error());
else 
/* header("Location: show.php?id=$id"); */ exit();
?>

  Ответить  
 
 автор: Slo_Nik   (12.03.2012 в 15:04)   письмо автору
 
   для: lgar   (12.03.2012 в 14:47)
 

ну почему же именно $_GET передавать id ?
в форме делаете input с type='hedden', в value указываете нужный id и передаёте $_POST, ни какой проблемы в передачи нет.
обработчик разместите в том же файле, в котором сама форма есть
и обязательно контроль ошибок через error_reporting()

  Ответить  
 
 автор: lgar   (13.03.2012 в 12:57)   письмо автору
 
   для: lgar   (12.03.2012 в 14:47)
 

Как можно переделать, чтобы всё работало в рамках одного скрипта?

  Ответить  
 
 автор: Slo_Nik   (13.03.2012 в 13:12)   письмо автору
 
   для: lgar   (13.03.2012 в 12:57)
 


<?php 
 
/* обработчик */
?>
<form>
<!-- html форма -->
</form>

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования