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

Форум MySQL

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

 

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

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

тема: методы POST и GET в одном запросе
 
 автор: lilu   (10.08.2005 в 09:54)   письмо автору
 
 

Сразу на примере:
Есть файл index.php указываем что переменную id будем использовать в add.php

<?php
echo "<br><a href=add.php?id=$tmp[id]>$tmp[text]</a><br>"
?>


add.php
Есть запрос

<?php
$w
=$_GET[id];
echo 
"$w";  // всё правильно выводится
if ($submit) {
$query="INSERT INTO table (id, name,  data)
VALUES ('
$_GET[id]', '$_POST[Tname]', NOW())";
 
$rez=mysql_query($query);
if(
$rez)
echo 
"Данные внесены успешно";}
else {
?>
<form style="width:350px" method="post" action="<?php echo $PHP_SELF ?>" target="n">
Контактные данные: <br>
<textarea name="Tname" cols="16" rows="2"></textarea>
    <br><br>
    <input type="submit" name="submit" value="Добавить данные">
?>


Как только дело доходит до запроса переменная id пустая - почему?

   
 
 автор: Axxil   (10.08.2005 в 10:15)   письмо автору
 
   для: lilu   (10.08.2005 в 09:54)
 

Мне кажется вы там что-то с кавычками перемудрили...
Да и кстати крайне не рекомендуется что-либо вносить в базу непосредственно из массива $_GET без обработки.
хотя бы так:

<?
$w
=(int)strip_tags(addslashes($_GET['id'])); // судя по названию id целочисленный...
$post=strip_tags(addslashes($_POST['Tname']));
$query="INSERT INTO table (id, name,  data) 
VALUES ("
.$w.",'".$post."', NOW())"
?>

   
 
 автор: lilu   (10.08.2005 в 11:27)   письмо автору
 
   для: Axxil   (10.08.2005 в 10:15)
 

Почему ".$w.", а ' ".$post." ' :))) (и где это я с кавычками перемудрила)
Я попробовала обработку вашу но теперь id принимает только 0 и ничего кроме

   
 
 автор: Axxil   (10.08.2005 в 14:38)   письмо автору
 
   для: lilu   (10.08.2005 в 11:27)
 

потому что $w - тип int
$post я так понимаю char
Насчёт кавычек может я и не прав не проверял, просто предположил :)
Тоже хотел сказать насчёт PHP_SELF но забыл :) если хотите чтобы форма обрабатывалась на той же странице то вообще не пишите action. И если нет специальных требований то ИМХО лучше использовать метод post безопаснее...

   
 
 автор: lilu   (10.08.2005 в 15:48)   письмо автору
 
   для: Axxil   (10.08.2005 в 14:38)
 

$_SERVER['REQUEST_URI'] - это круто :))) получилось! Спасибочки

   
 
 автор: cheops   (10.08.2005 в 13:55)   письмо автору
 
   для: lilu   (10.08.2005 в 09:54)
 

Вместо $PHP_SELF используйте $_SERVER['REQUEST_URI'] - он не отбрасывает GET-параметры.

   
Rambler's Top100
вверх

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