[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не видит id
gagger
Через форму отсылаются данные, не пойму почему не передается id через форму.
Есть обычная форма, на странице send_massages.php?id=63:
<form action="send_msg.php" method="post" enctype="text/plain">Послать Сообщение:<br>
<textarea
name="massage" cols="100" rows="10"></textarea>
<br><input
type="hidden" name="id" id="id">
<input
type="submit" value="Отправить"></form>


И файл send_msg.php

<?php  
include("bd.php");


$fields=array("massage", "id");

foreach($fields as $num=>$key){
if (isset($_POST[$key]) && $_POST[$key]!='') $$key = $_POST[$key];
}
echo $id;

$result = mysql_query("SELECT * FROM users WHERE id='$id'");
$myrow = mysql_fetch_array($result);
var_dump($_POST['id']);
$msg = mysql_query("SELECT * FROM private_mg WHERE id='$id'");

if (isset($massage) && ($id)){
$insert = mysql_query("INSERT INTO private_mg (id_massage,new_massage) VALUE ('$id','$massage')");
echo 'Сообщение успешно отправлено';
}
else exit ('Вы не ввели сообщение');

?>




Спустя 52 минуты, 36 секунд (31.05.2010 - 09:49) justIAM написал(а):
Какой то код странный ..... blink.gif
Что это за танцы с бубнами???:

$fields=array("massage", "id");

foreach($fields as $num=>$key){
if (isset($_POST[$key]) && $_POST[$key]!='') ---> $$ <--- key = $_POST[$key];
}
echo $id;

Т.е. ты формируешь массив из 2-х строковых констант, а затем пробегаешь по нему????
И что Ты хочешь получить в строке "echo $id", он же не определён
У поля input есть ещё значение value, которое как раз и передаётся, оно у Тебя задано вообще??
Если хочешь получить id, не проще сделать просто??
 $id = isset($_POST['id'])?$_POST['id']:null;

Спустя 13 минут, 33 секунды (31.05.2010 - 10:02) gagger написал(а):
Ну вот вместо того что бы писать - $id = isset($_POST['id'])?$_POST['id']:null; я создаю массив, краткость и скорость.

Вот вопрос почему не определен? Страница где форма имеет id он по идее должен попадать в поле hiden и оттуда попдать в $_POST

Спустя 23 минуты, 49 секунд (31.05.2010 - 10:26) gagger написал(а):
Заменил код в форме ...

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

    <div align="center"><form action="send_msg.php" method="post" enctype="text/plain">Послать Сообщение:<br>
<textarea
name="massage" cols="100" rows="10"></textarea>
<br><input
type="hidden" value="<?php echo $id; ?>" name="<?php echo $id; ?>" id="<?php echo $id; ?>">
<input
type="submit" value="Отправить"></form></div>


И всеравно id не передается...

Спустя 51 минута, 32 секунды (31.05.2010 - 11:18) justIAM написал(а):
Цитата
я создаю массив, краткость и скорость.

Миль пардон,впервые такую интересную конструкцию вижу, век живи век учись smile.gif
А waldicom всё правильно подсказал:
<input type="hidden" value="<?php echo $_GET['id'];?>" name="id" id="id">

Спустя 2 минуты, 9 секунд (31.05.2010 - 11:20) gagger написал(а):
justIAM
Помоему товарищ Валид, кроме знака вопрос, ничего не сказал... Попробовал как ты посоветовал -
<input type="hidden" value="<?php echo $_GET['id'];?>" name="id" id="id"> 
не прокатывает.

Если посмотреть исходный код страницы

<input type="hidden" value="63" name="id" id="id">
вроде бы все выдает...я уже вообще ничего не пойму.

Спустя 2 минуты, 13 секунд (31.05.2010 - 11:22) waldicom написал(а):
Цитата (gagger @ 31.05.2010 - 10:20)
justIAM
Помоему товарищ Валид, кроме знака вопрос, ничего не сказал... Попробовал как ты посоветовал -
<input type="hidden" value="<?php echo $_GET['id'];?>" name="id" id="id"> 
не прокатывает.

Во-первых, пишем ники правильно, если не можем писать, используем copy-paste
Во-вторых, что может быть легче вывести весь массив $_GET и посмотреть, что там приходит

Спустя 9 минут, 5 секунд (31.05.2010 - 11:31) gagger написал(а):
waldicom
Прошу прощение, за не правильно написанный ник.
А где простите вы в обработчике $_GET увидели? Форма передает $_POST...

Я так и не понял, почему эта конструкция не работала. В результате после перезаписи формы она вдруг заработала, причем я НИЧЕГО не менял...

Спасибо всем кто помогал, приношу извинения за потраченное на меня время.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.