|
|
|
| Значение переменной "$item" ну ни в какую не передается... т.е. она даже определяется как пустая.
Часть кода:
<?php
if (isset($_POST['name'])) {$name = $_POST['name']; if ($name == '') {unset($name);}}
if (isset($_POST['phone'])) {$phone = $_POST['phone']; if ($phone== '') {unset($phone);}}
if (isset($_POST['text'])) {$textmes= $_POST['text']; if ($textmes == '') {unset($textmes);}}
if (isset($_GET['item'])) {$item = $_GET['item']; }
if (isset($item) && isset($textmes) && isset($phone) && isset($name))
{
if ($name == '') {$name = '';}
if ($phone == '') {$phone = '';}
if ($textmes == '') {$textmes = '';}
$result3 = mysql_query ("INSERT INTO mails (by_who,phone,item,text) VALUES ('$name', '$phone','$item','$textmes')");
if ($result3 == 'true') {echo "<p>Сообщение успешно отправлено! Врнуться <a href='index.php'>на Главную</a></p>";}
else {echo "<p>Сообщение не удалось отправить!</p>";}
}
?>
|
Пояснение к коду:
Первые три значения передаются из формы в этом же файле и проблем с ними нет.
Следующее значение, оно же "$item", передается из другого файла... причем двумя способами. Первым для кода, которого в приведенном мной нет - там все в порядке. Вторым для этой части кода - с ума схожу... может че не заметил или не знаю... Но не из первой передачи, не из второй вставляться в поток вывода не хочет.
Может код не всю картину отображает... но во всем коде лишнего много...
Заранее благодарен | |
|
|
|
|
|
|
|
для: Morax
(14.10.2009 в 00:38)
| | кода из приемного скрипта вполне достаточно.
Вы покажите код, который это значение отправляет. | |
|
|
|
|
|
|
|
для: Trianon
(14.10.2009 в 00:42)
| |
<?php
<a href="msend.php?id=%s&item=%s"', $myrow["id"], $myrow["title"]) .......?>
|
Он и отправляет
Но... помимо этого отправляющего кода такое же значение как он отправляет достается в приемном скрипте из базы и участвует в других операциях в этом же приемном скрипте... но к коду из первого моего сообщения отношения иметь не хочет, поэтому я и воспользовался этим отправляющим кодом. Но толку нет... | |
|
|
|
|
|
|
|
для: Morax
(14.10.2009 в 00:47)
| | Это какой-то обрывок кода вне контекста с неочевидным синтаксисом и семантикой.
Поглядите, как выглядит ссылка в сгенерированном коде.
PS. Вы вырезаете куски кода на лету, явно не понимая, как они работают. Решению проблемы это не способствует. | |
|
|
|
|
|
|
|
для: Trianon
(14.10.2009 в 00:50)
| | http://localhost/boat/msend.php?id=2&item=Bayliner%2018 - ссылка | |
|
|
|
|
|
|
|
для: Morax
(14.10.2009 в 00:54)
| | if (isset($item) && isset($textmes) && isset($phone) && isset($name))
Здесь у Вас проверяется, что переданы GET-item , POST-textmes, POST-phone, и POST-name , в то время как никаких POST-параметров через ссылку передано быть не может в принципе.
Если, конечно, $name , $phone и $textmes не заданы строками выше. Но строк этих Вы не привели. | |
|
|
|
|
|
|
|
для: Trianon
(14.10.2009 в 01:01)
| | вот отправкак методом пост в приемном файле ему же...
<?php<form class="send_form" name="MSend" action="msend.php" method="POST">
<table class="table_form">
<tr>
<td>Ваше имя:</td>
<td><input type="text" name="name" size="20" maxlength="20" id="name"></td>
</tr>
<tr>
<td>Контактный телефон:</td>
<td><input type="text" name="phone" size="20" maxlength="20" id="phone"></td>
</tr>
<tr valign="top">
<td>Текст сообщения:</td>
<td><textarea name="text" rows="8" cols="25" id="text"></textarea></td>
</tr>
<tr valign="top">
<td align="right" colspan="2"><button type="submit">Отправить форму</button></td>
</tr>
<tr valign="top">
<td align="right" colspan="2"><font color="#006600">Для отправки сообщения необходимо <u>замолнить все поля</u></font></td>
</tr>
</table>
?>
|
суть проблемы в том, что приведенному в первом сообщении коду значение параметра $item не хочет передаваться не через GET, не из базы...
Для наглядности если заинтересует вот код:
<?php
include ("parts/bd.php");
if (isset($_GET['id'])) {$id = $_GET['id']; }
if (!isset($id)) {$id = 0;}
if (isset($_GET['type'])) {$type = $_GET['type']; }
if (!isset($type)) {$type = 0;}
$img = '';
$title = '';
$result = mysql_query("SELECT * FROM pages WHERE page='msend'", $db);
if (!$result)
{
echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору <br> <strong>Код ошибки:</strong></p>";
exit(mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);
}
else
{echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();
}
if (($type !== 0) && ($id !== 0))
{
[b]$result2 = mysql_query("SELECT * FROM spares WHERE id='$id'", $db);
if (!$result2)
{
echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору <br> <strong>Код ошибки:</strong></p>";
exit(mysql_error());
}
if (mysql_num_rows($result2) > 0)
{
$myrow2 = mysql_fetch_array($result2);
}
else
{echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();
}
$img = $myrow2["img"];
$title = $myrow2["title"];
}
if (($id !== 0) && ($type == 0))
{
$result1 = mysql_query("SELECT title, img FROM boats WHERE id='$id'", $db);
if (!$result1)
{
echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору <br> <strong>Код ошибки:</strong></p>";
exit(mysql_error());
}
if (mysql_num_rows($result1) > 0)
{
$myrow1 = mysql_fetch_array($result1);
}
else
{echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();
}
$img = $myrow1["img"];
$title = $myrow1["title"];
}
?>[/b]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Продажа и ремонт катеров :: <?php echo $myrow["title"]; ?></title>
<link href="style.css" rel="stylesheet" type="text/css" />
<meta name="description" content="<?php echo $myrow["meta_d"]; ?> ">
<meta name="keywords" content="<?php echo $myrow["meta_k"]; ?> ">
</head>
<body cellpadding="0" cellspacing="0">
<table width="1024" border="0" align="center" bgcolor="#ffffff" cellpadding="0" cellspacing="0">
<?php include ("parts/nav_t.php"); ?>
<tr>
<td colspan="4" valign="top">
<?php echo $myrow["text"]; ?>
<table align="center" border="0" cellpadding="0" cellspacing="0" width="760" class="table_middle">
<?php
if ($id != 0)
{ printf('
<caption class="table_title">Форма отправки сообщения о <b><u>%s</b></u></caption>
<tr>
<td width="400" height="303">
<img width="400" height="303" src="%s"></img>
</td>
<td valign="top" width="*">
<form class="send_form" name="MSend" action="msend.php" method="POST">
<table class="table_form">
<tr>
<td>Ваше имя:</td>
<td><input type="text" name="name" size="20" maxlength="20" id="name"></td>
</tr>
<tr>
<td>Контактный телефон:</td>
<td><input type="text" name="phone" size="20" maxlength="20" id="phone"></td>
</tr>
<tr valign="top">
<td>Текст сообщения:</td>
<td><textarea name="text" rows="8" cols="25" id="text"></textarea></td>
</tr>
<tr valign="top">
<td align="right" colspan="2"><button type="submit">Отправить форму</button></td>
</tr>
<tr valign="top">
<td align="right" colspan="2"><font color="#006600">Для отправки сообщения необходимо <u>замолнить все поля</u></font></td>
</tr>
</table>
</form>
</td>', $title, $img);
}
else
{ echo '
<caption class="table_title">Форма отправки сообщения</caption>
<tr>
<td align="center" valign="top" width="*">
<form class="send_form" name="MSend" action="msend.php" method="POST">
<table class="table_form">
<tr>
<td>Ваше имя:</td>
<td><input type="text" name="name" size="20" maxlength="20" id="name"></td>
</tr>
<tr>
<td>Контактный телефон:</td>
<td><input type="text" name="phone" size="20" maxlength="20" id="phone"></td>
</tr>
<tr valign="top">
<td>Текст сообщения:</td>
<td><textarea name="text" rows="8" cols="25" id="text"></textarea></td>
</tr>
<tr valign="top">
<td align="right" colspan="2"><button type="submit">Отправить форму</button></td>
</tr>
<tr valign="top">
<td align="right" colspan="2"><font color="#006600">Для отправки сообщения необходимо <u>замолнить все поля</u></font></td>
</tr>
</table>
</form>
</td> ';
}
[b]if (isset($_POST['name'])) {$name = $_POST['name']; if ($name == '') {unset($name);}}
if (isset($_POST['phone'])) {$phone = $_POST['phone']; if ($phone== '') {unset($phone);}}
if (isset($_POST['text'])) {$textmes= $_POST['text']; if ($textmes == '') {unset($textmes);}}
if (isset($_GET['item'])) {$item = $_GET['item']; }
if (isset($item) && isset($textmes) && isset($phone) && isset($name))
{
if ($name == '') {$name = '';}
if ($phone == '') {$phone = '';}
if ($textmes == '') {$textmes = '';}
$result3 = mysql_query ("INSERT INTO mails (by_who,phone,item,text) VALUES ('$name', '$phone','$item','$textmes')");
if ($result3 == 'true') {echo "<p>Сообщение успешно отправлено! Врнуться <a href='index.php'>на Главную</a></p>";}
else {echo "<p>Сообщение не удалось отправить!</p>";}
}
if (isset($textmes) && isset($phone) && isset($name) && !isset($item))
{
if ($name == '') {$name = '';}
if ($phone == '') {$phone = '';}
if ($textmes == '') {$textmes = '';}
$result3 = mysql_query ("INSERT INTO mails (by_who,phone,text) VALUES ('$name', '$phone','$textmes')");
if ($result3 == 'true') {echo "<p>Сообщение успешно отправлено! Врнуться <a href='index.php'>на Главную</a></p>";}
else {echo "<p>Сообщение не удалось отправить!</p>";}
}
?>[/b]
</tr>
</table>
<br>
</td>
<td width="150" class="nav_right">
<table border="0" width="200" cellpadding="0" cellspacing="0" class="table_right">
<?php include ('parts/nav_r.php'); ?>
<?php include ("parts/foot.php") ?>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: Morax
(14.10.2009 в 08:38)
| | так через форму или через ссылку?
Определитесь уж.
Код Ваш ничем не поможет, если Вы не понимаете, как он работает. | |
|
|
|
|
|
|
|
для: Trianon
(14.10.2009 в 09:00)
| | Изначально через форму. Не получилось. попробовал ЕЩЕ И через ссылку... тоже не получилось... Как код работает я понимаю, я не понимаю как он не работает | |
|
|
|
|
|
|
|
для: Trianon
(14.10.2009 в 09:00)
| | С начала через форму - не получилось. Попробовал через ссылку - и так не получилось... И код свой я понимаю | |
|
|
|
|
|
|
|
для: Morax
(14.10.2009 в 08:38)
| | Trim ещё используй могут вместо словаввести много пробелов, а лучше регулярными выражениями, например, preg_match("\^[\w\d]{1,15}$\i", $name)
if (trim($name) == ''){...} | |
|
|
|
|
|
|
|
для: Вот случайно зашел
(14.10.2009 в 10:57)
| | Спасибо. забыл совсем. | |
|
|
|
|
|
|
|
для: morax
(14.10.2009 в 15:26)
| | Проблема решена... К форме добавил поле с текстом только для чтения, в котором и выводил этот итем, он и передавался ПОСТом и отлично работал... | |
|
|
|