Не вытаскивается _GET

Serafimbi4

Новичок
Доброй ночи, начал учить PHP и столкнулся с такой проблемой:

Есть форма: (Спойлера не нашел)

<form action="index.php" method="post">
<label for = "new">Заполняем поля для передачи информации:</label><br><br><br>
<input type="hidden" name="id" value="<?php echo $id; ?>" />
Дата: <input type="date" name="date"/>
Ф.И.О. <input type="text" name="name"/>
Адрес: <input type="text" name="adr"/><br><br><br>
Проблема: <textarea name="msg" rows="5" cols="50"></textarea> &nbsp;&nbsp;&nbsp;Коммент: <textarea name="com" rows="5" cols="50"></textarea><br><br><br>
Статус:&nbsp;&nbsp;&nbsp;Решено<input type="radio" name="rez" value="Решено">Провал<input type="radio" name="rez" value="Провал">Ожидает<input type="radio" name="rez" value="Ожидает"><br><br><br>
<br><br> <input type=submit value="Передать информацию"></form>


Она обрабатывается. И все данные выводятся ниже самой формы:


<?php

if (!empty($_POST)) {
$text = isset($_POST['text']) ? trim(htmlspecialchars($_POST['text'])) : '';
$data = isset($_POST['rez']) ? trim(htmlspecialchars($_POST['rez'])) : '';

if ($rez == 'Решено') {
$text = '<span style="color:green">'. $text .'</span>';
}

if ($rez == 'Провал') {
$text = '<span style="color:red">'. $text .'</span>';
}

if ($rez == 'Ожидает') {
$text = '<span style="color:yellow">'. $text .'</span>';
}

} else {
$text = '';
$rez = '';
}
$id = $_POST['id'];
$date = $_POST['date'];
$name = $_POST['name'];
$adr = $_POST['adr'];
$msg = $_POST['msg'];
$rez = $_POST['rez'];
$com = $_POST['com'];

// создание строки запроса
$query ="INSERT INTO `new` (`date`, `name`, `adr`, `msg`,`rez`,`com`)
VALUES('$date', '$name','$adr', '$msg', '$rez', '$com')";

mysql_connect('localhost','admin','admin');
mysql_select_db('bugrep');
$res = mysql_query("SELECT * FROM `new`") or die(mysql_error());
echo '<table>';
while($row = mysql_fetch_assoc($res)) {
switch($row['rez']){
case 'Решено': $color = '#0f0'; break;
case 'Провал': $color = '#f00'; break;
case 'Ожидает': $color = '#FFFF00'; break;
default: $color = '#999';
}
echo
'<tr><td>'.$row['date'].'</td><td>'.$row['name'].'</td><td>'.$row['adr'].'</td>
<td>'.$row['msg'].'</td><td style="background-color: '.$color.';">'.$row['rez'].'</td>
<td>'.$row['com'].'</td><td><a href="edit.php?_id='.$row['id'].'">Редактировать</a></td></tr>';
}
echo '</table>';
?>

В выводе я вроде как прикрутил кнопку редактировать:

<td><a href="edit.php?_id='.$row['id'].'">Редактировать</a></td>

Проблема в том, что я не могу понять, как конкретно в edit.php принять id и вывести данные связанные с этим id на редактирование и потом все это сохранить. Есть подозрение, что не передаю я это дело в Edit.php

Поможите люди добрые :) Хотя при нажатии на ссылку "редактировать" в браузере в строке адреса приходит: http://test1.ru/edit.php?_id=3...то есть ID -то есть. Но вот get его не вытаскивает, не могу понять почему. Если покажите на моем конкретном примере, как это должно работать, буду Вам крайне признателен. Спасибо.

На Edit.php даже echo $_GET["id"]; не работает, просто чистый экран!
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Надо смотреть внимательно, что ты пишешь. Если ты назвал параметр _id, то и в $_GET он будет как _id.

Иди возьми книгу и читай.
 

Serafimbi4

Новичок
Он везде называется одинаково, какую часть кода показать? Парни мне нужно понять что в edit.php должно быть?

Тут видно, что из формы все принимается-заносится-выводится, а вот при нажатии редактировать...наступает тупик.

$id = $_POST['id'];
$date = $_POST['date'];
$name = $_POST['name'];
$adr = $_POST['adr'];
$msg = $_POST['msg'];
$rez = $_POST['rez'];
$com = $_POST['com'];

// создание строки запроса
$query ="INSERT INTO `new` (`date`, `name`, `adr`, `msg`,`rez`,`com`)
VALUES('$date', '$name','$adr', '$msg', '$rez', '$com')";



mysql_connect('localhost','admin','admin');
mysql_select_db('bugrep');
$res = mysql_query("SELECT * FROM `new`") or die(mysql_error());
echo '<table>';
while($row = mysql_fetch_assoc($res)) {
switch($row['rez']){
case 'Решено': $color = '#0f0'; break;
case 'Провал': $color = '#f00'; break;
case 'Ожидает': $color = '#FFFF00'; break;
default: $color = '#999';
}
echo
'<tr><td>'.$row['id'].'</td><<td>'.$row['date'].'</td><td>'.$row['name'].'</td><td>'.$row['adr'].'</td>
<td>'.$row['msg'].'</td><td style="background-color: '.$color.';">'.$row['rez'].'</td>
<td>'.$row['com'].'</td><td><a href="edit.php?id='.$row['id'].'">Редактировать</a></td></tr>';
}
echo '</table>';
 

Serafimbi4

Новичок
Парни почему в таблицу не подставляются данные?

<?php

mysql_connect('localhost','admin','admin');
mysql_select_db('bugrep');

$x = $_GET["id"];

$Sel=mysql_query("SELECT * FROM new where id='$x'");

while ($row = mysql_fetch_array($Sel))
{

echo '
<form action="edit.php" method="post">
<table>
<tr><td>Дата: </td><td><input type="text" size="30" name="date" value=.$row["date"]."></td></tr>
<tr><td>Ф.И.О.: </td><td><input type="text" size="30" name="name" value=.$row["name"]."></td></tr>
<tr><td>Адрес: </td><td><input type="text" size="30" name="address" value=.$row["adr"]."></td></tr>
<tr><td>Проблема: </td><td><textarea name="msg" rows="5" cols="50"> value=.$row["msg"]."</textarea></td></tr>
<tr><td>Коммент: </td><td><textarea name="com" rows="5" cols="50"> value=".$row["com"]."</textarea></td></tr>
<tr><td>Статус: </td><td>Решено<input type="radio" name="rez" value="Решено">Провал<input type="radio" name="rez" value="Провал"> Ожидает<input type="radio" name="rez" value="Ожидает"></td></tr>
<tr><td><input type=submit value="Передать информацию"></td><td></td></tr>';
}

Вы были правы :) Синтаксис блин.
Спасибо за спойлер :)
 

Kotofey

FloodMaster.
Парни почему в таблицу не подставляются данные?

<?php

mysql_connect('localhost','admin','admin');
mysql_select_db('bugrep');

$x = $_GET["id"];

$Sel=mysql_query("SELECT * FROM new where id='$x'");

while ($row = mysql_fetch_array($Sel))
{

echo '
<form action="edit.php" method="post">
<table>
<tr><td>Дата: </td><td><input type="text" size="30" name="date" value=.$row["date"]."></td></tr>
<tr><td>Ф.И.О.: </td><td><input type="text" size="30" name="name" value=.$row["name"]."></td></tr>
<tr><td>Адрес: </td><td><input type="text" size="30" name="address" value=.$row["adr"]."></td></tr>
<tr><td>Проблема: </td><td><textarea name="msg" rows="5" cols="50"> value=.$row["msg"]."</textarea></td></tr>
<tr><td>Коммент: </td><td><textarea name="com" rows="5" cols="50"> value=".$row["com"]."</textarea></td></tr>
<tr><td>Статус: </td><td>Решено<input type="radio" name="rez" value="Решено">Провал<input type="radio" name="rez" value="Провал"> Ожидает<input type="radio" name="rez" value="Ожидает"></td></tr>
<tr><td><input type=submit value="Передать информацию"></td><td></td></tr>';
}

Спасибо за спойлер :)
Иди возьми книгу и читай.
 

Serafimbi4

Новичок
Да я почитаю, к сожалению время жмет, не ужели так трудно показать верное решение? Зачем тогда нужен форум?
 

Kotofey

FloodMaster.
Да я почитаю, к сожалению время жмет, не ужели так трудно показать верное решение? Зачем тогда нужен форум?
В одинарные кавычки переменные вставляются только с помощью конкатенации. Обрати внимание на то как ты переменные в строку вставляешь и где какие кавычки используешь.

P.S.
Здесь учат, а не делают скрипты за Вас!
 
Сверху