[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: запись в базу
twins_men
доброе время суток.
Второй день бьюсь- не могу разобраться в чём беда.
Есть база - blank, а ней таблица - тоже blank.
В таблице строчки - town и artikul.
Ну и id- примари и авто.
Делаю запись в базу - просто не записывает. Читать из базы- читает.
имя файлу- index.php

<?php
$host='localhost';
$database='blank';
$user='root';
$pswd='';

$dbh = mysql_connect($host, $user, $pswd) or die("Не могу соединиться с MySQL.");
mysql_select_db($database) or die("Не могу подключиться к базе.");
$query = "SELECT * FROM `blank`";
$res = mysql_query($query);
while($row = mysql_fetch_array($res))
{
echo "Номер: ".$row['id']."<br>\n";
echo "Город: ".$row['town']."<br>\n";
echo "Артикул: ".$row['artikul']."<br>\n";
}
?>

<html>

<?php

if ($send)
$sql = mysql_query("INSERT into blank (town, artikul)
values ('"
.$_POST['town']."', '".$_POST['artikul']."');");
?>
<body>
<form
action="index.php" method="post">
<table
border="1" align="center">
<tr>
<td
align="center">Введите заголовок страницы</td>
<td
align="center">Введите текст</td>
</tr>
<tr>
<td
valign="top"><input name="my_title" type="text"
size="50" /></td>
<td
valign="top"><textarea name="my_text" cols="80"
rows="30" > </textarea></td>
</tr>
<tr>
<td
colspan="2" align="center"><input name="send"
type="submit" value="Отправить" /></td>
</tr>
</table>
</form>
</body>
</html>




Спустя 2 часа, 15 минут, 38 секунд (13.06.2011 - 14:17) vagrand написал(а):
А где ты инициализируешь переменную "$send"?
Если у тебя в настройках PHP отключены глобальные переменные то надо как и при вставке проверять $_POST['send']

Спустя 4 часа, 10 минут, 6 секунд (13.06.2011 - 18:27) twins_men написал(а):
понял - исправил=)
благодарен;)
теперь он создаёт строку- но она пустая(
что опять я мимо делаю?
с config.php - подключение к базу- там всё норм.

<?php 
include ('config.php');

function complete(){
$query = mysql_query ("INSERT INTO blank
(artikul,
price)
VALUES
('"
.$_POST['artikul']."', '".$_POST['price']."')");

echo '<h3>Данные обновлены</h3>';
} ;
if($_POST['send']) complete();
?>


<html>
<body
">
<div id="
container">
<div id="
mainContent">
<hr />

<div align="
center">
<table width="
200" border="1">
<tr>
<td>Артикул<input type="
text" name="artikul" /></td>
<td>Наименование<input type="
text" name="tovar"/></td>
</tr>
<tr>
<td>Цвет <input type="
text" name="color"/></td>
<td>Размер<input type="
text" name="size"/></td>
</tr>
<tr>
<td>Количество<input type="
text" name="many"/></td>
<td>Цена<input type="
text" name="price"/></td>
</tr>
</table>
<hr />
<p></p>
</div>
</div>

<form action="" method="
post">
<label>
<p align="
center"><input type="submit" name="send" value="Отправить" /></p>
</label>
</form>
<p align="
center"> <a href="index.php">Просмотреть заявки</a></p>
<!-- end #container --></div>
</body>
</html>



в самом коде пхп видно, что взял выборочно данные- но он их не вносит блин...

Спустя 27 минут, 10 секунд (13.06.2011 - 18:54) Игорь_Vasinsky написал(а):
А что есть? ошибки или тишина?
имена таблиц и столбцов в SQL принято обрамлять апострофами, для переменных, констант php используют конкатенацию или фигурные скобки.

Проверь что есть в POST:
var_dump($_POST);

пробуй:
$query = mysql_query ("INSERT INTO `blank` (`artikul`, `price`)                 
VALUES ('"
.$_POST['artikul']."', '".$_POST['price']."')") or die(mysql_error());

Спустя 12 минут, 57 секунд (13.06.2011 - 19:07) twins_men написал(а):
в том-то и дело- ни одной ошибки....
предложенный тобой код - то же ноль результат....при проверке что есть в $_POST - кажет только
array(1) { ["send"]=> string(9) "Отправить" } 

спасибо за советы =)
Пойду учить мат.часть...и буду рыть в сторону хоста- чтот кажись это его косяки....


это не хост - испробовал ещё парочку- подскажите куда хоть смотреть? чтот вашпе уже никак=(

Спустя 42 минуты, 28 секунд (13.06.2011 - 19:49) Игорь_Vasinsky написал(а):
Цитата
array(1) { ["send"]=> string(9) "Отправить" }

biggrin.gif biggrin.gif biggrin.gif
Так у тя в POST -только кнопка, а данных с формы то нету biggrin.gif biggrin.gif biggrin.gif

Спустя 8 минут, 10 секунд (13.06.2011 - 19:57) twins_men написал(а):
точно же- смотрю в книгу- вижу фигу smile.gif smile.gif
пасибки тебе=)

только вот как быть-то? ведь как ни крути- данные отправляются по нажатию кнопки- поэтому там она только и будет.... unsure.gif

Спустя 2 минуты, 55 секунд (13.06.2011 - 20:00) Игорь_Vasinsky написал(а):
нет там будут все POST, проверь имена в форме.
Вообще выложил бы код формы, хотя, сделай сначала так:
if(isset($_POST['send'])) 
complete();

и будет тебе счастье. и мне плюс в карму ;) юбилейный.

Спустя 9 минут, 46 секунд (13.06.2011 - 20:10) twins_men написал(а):
Пробовал я так....чтот не получается((
Вот форма сама....
Кажись в ней напутал...

<html>
<body>
<div
id="container">
<div
id="mainContent">
<hr />

<div
align="center">
<table
width="200" border="1">
<tr>
<td>
Артикул<input type="text" name="artikul" /></td>
<td>
Наименование<input type="text" name="tovar"/></td>
</tr>
<tr>
<td>
Цвет <input type="text" name="color"/></td>
<td>
Размер<input type="text" name="size"/></td>
</tr>
<tr>
<td>
Количество<input type="text" name="many"/></td>
<td>
Цена<input type="text" name="price"/></td>
</tr>
</table>
<hr />
<p></p>
</div>
</div>

<form
action="" method="post">
<label>
<p
align="center"><input type="submit" name="send" value="Отправить" /></p>
</label>
</form>
<p
align="center"> <a href="index.php">Просмотреть заявки</a></p>
<!-- end #container --></div>
</body>
</html>


ну и сам скрипт...

function complete(){ 
$query = mysql_query ("INSERT INTO `blank` (`artikul`, `price`)
VALUES ('".$_POST['artikul']."', '".$_POST['price']."')") or die(mysql_error());
echo '<h3>Данные обновлены</h3>';
var_dump($_POST);
} ;
if(isset($_POST['send']))
complete();
?>


работать-то долно жеж...

Плюсик будет- обязательно!-ты тут со мной нянькаешься)))
Тока вот 10 постов набью.... ;)

Спустя 4 минуты, 12 секунд (13.06.2011 - 20:14) Игорь_Vasinsky написал(а):
Так. у тя структура БД какая?
еслитам есть ещё что то (кроме id) artikul, price - то запрос не выполнится, т.к. в INSERT нужно указать все столбцы (кроме id auto_increment) - в том же порядке что и БД.

либо они должны следовать друг за другом, чтоб можно было опустить те которые до них и после.

Вроде так, точно не помню, раз два такая ситуация была я на ней внимание не акцентироал.

и странно почему у тя var_dump - POST из формы не выдал, а кнопу выдал...

Спустя 1 минута, 44 секунды (13.06.2011 - 20:16) twins_men написал(а):
Цитата (Игорь_Vasinsky @ 13.06.2011 - 17:14)
Так. у тя структура БД какая?
еслитам есть ещё что то (кроме id) artikul, price - то запрос не выполнится, т.к. в INSERT нужно указать все столбцы (кроме id auto_increment) - в том же порядке что и БД.

упс....вот это я дал....вот прям спасибо- разумеется, там ещё есть строчки)))

Спустя 2 часа, 33 минуты (13.06.2011 - 22:49) Игорь_Vasinsky написал(а):
:D :D :D
  <form action="" method="post">
<label>
<p
align="center">
<input
type="submit" name="send" value="Отправить" /></p>
</label>
</form>


ну вот по этому у тя твои данные с полей и не передаются и var_dump их не видит.

ОНИ У ТЕБЯ ВНЕ ФОРМЫ.

поставь их в форму и будет всё тип-топ.

Спустя 4 часа, 40 минут, 46 секунд (14.06.2011 - 03:30) twins_men написал(а):
Цитата (Игорь_Vasinsky @ 13.06.2011 - 19:49)
:D :D :D
  <form action="" method="post">
<label>
<p
align="center">
<input
type="submit" name="send" value="Отправить" /></p>
</label>
</form>


ну вот по этому у тя твои данные с полей и не передаются и var_dump их не видит.

ОНИ У ТЕБЯ ВНЕ ФОРМЫ.

поставь их в форму и будет всё тип-топ.

точно!!!!.....одна блин строчка....ох олололошенька жеж я....сенкс biggrin.gif
Быстрый ответ:

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