|
|
|
| Здравствуйте.
В PHP я новичок, и надеюсь на помощь с этого форума.
Имеется такой скрипт файла 1:
<?php
echo "<form action='catalog.php' method='POST'>
<p>Добавить разрешение: <input type='text' name='dpi'></p>
<p>Добавить цену: <input type='text' name='price'></p>
<p>Добавить пояснения: <textarea name='note' rows='10' cols='60'></textarea></p>
<input type='button' name='buta' value='добавить разрешение в каталог'>
</form>";
?>
|
И, убирая всё лишнее, имеется второй файл с частью таким скриптом:
<?php
require_once("../config.php");
mysql_query ('INSERT INTO dpi VALUES (NULL,
".$_POST['dpi'].",
".$_POST['note'].",
".$_POST['price'].",
NULL); ');
?>
|
Данные в форму не передаются. А точнее функция mysql_query работает как положено, но без передачи данных из формы.
То есть:
mysql_query ('INSERT INTO dpi VALUES (NULL, значение 1, "значение 2", значение 3, NULL) ');
|
А как раз данные из формы в базу данных не попадают.
Даже проверяя банальную вещь, не выходит ничего. Например:
В первом файле та же форма:
<form action='catalog.php' method='POST'>
<p>Добавить разрешение: <input type='text' name='dpi'></p>
<p>Добавить цену: <input type='text' name='price'></p>
<p>Добавить пояснения: <textarea name='note' rows='10' cols='60'></textarea></p>
<input type='button' name='buta' value='добавить разрешение в каталог'>
</form>
|
А во втором:
<?php
echo $_POST['dpi'];
echo $_POST['price'];
echo $_POST['note'];
?>
|
Как я понимаю, по щелчку на кнопке должны быть выведены в документ все значения из формы. Но никакой ракции на действие нет. Не подскажите, в чём тут дело? | |
|
|
|
|
|
|
|
для: Claster
(04.05.2009 в 22:07)
| |
<?php
require_once("../config.php");
mysql_query ('INSERT INTO dpi VALUES (NULL,
".$_POST['dpi'].",
".$_POST['note'].",
".$_POST['price'].",
NULL); ');
?>
|
Исправьте кавычки в параметре mysql_query.
И включите диагностику ошибок
error_reporting(E_ALL|E_NOTICE);
как минимум, пока новичок.
Я допускаю, правда, что этот оператор Вы не скопировали из текста, а набрали руками.
Тогда всё еще хуже. | |
|
|
|
|
|
|
|
для: Trianon
(04.05.2009 в 22:35)
| | E_ALL и E_NOTICE включены, но тем не менее ошибок не выдаётся. Данные из формы в любом случае не передаются.
А кавычки постараюсь разобраться как верно задать, спасибо. | |
|
|
|
|
|
|
|
для: Claster
(05.05.2009 в 07:56)
| | Ваш оператор mysql_query, который я процитировал, выдает
Parse error: syntax error, unexpected T_STRING in файл.php on line 4
Совершенно справедливо выдает. | |
|
|
|
|
автор: ДЕМ(универ) (05.05.2009 в 15:12) |
|
|
для: Claster
(05.05.2009 в 07:56)
| |
<?php
mysql_query ('INSERT INTO dpi VALUES (NULL,
'.$_POST['dpi'].',
'.$_POST['note'].',
'.$_POST['price'].',
NULL)');
?>
|
кавычки верно так | |
|
|
|
|
|
|
|
для: ДЕМ(универ)
(05.05.2009 в 15:12)
| | Trianon,
Я понял почему. Глупая ошибка была: button-кнопка вместо submit.
ДЕМ(универ),
Да, спасибо большое. Я так и переделал.
И в связи с этим решаю другую возникшую проблему.
Вывожу данные таким массивом:
echo "<table>";
...
$r = mysql_query("SELECT * FROM dpi");
for ($i=0; $i<mysql_num_rows($r); $i++)
{
echo "<tr>";
$f=mysql_fetch_array($r);
echo "<td> $f[dpi] </td>";
echo "<td> $f[note] </td>";
echo "<td> $f[price] </td>";
echo "</tr>";
}
echo "</table>";
|
Однако данные выводятся только в столбце "note".
Вы не подскажите в чём тут дело? | |
|
|
|
|
|
|
|
для: Claster
(05.05.2009 в 21:19)
| | в структуре таблицы, очевидно... | |
|
|
|