Помощ за запис в БД

Galli

Registered
Малко помощ, че съм затъпял.
Код:
<form action="form.php" type="post">
Вашето име<br>
<input name="name" type="text"><br>
Вашият e-mail (по желание)<br>
<input name="email" type="text"><br>
Коментар<br>
<textarea name="message" rows="5" cols="50"></textarea><br>
<input type="submit" name="submit" value="submit">
</form>
<?php
$dbhost="***";
$dbname="***";
$dbuser="***";
$dbpassword="***";
$db_conn = mysql_connect("$dbhost", "$dbuser", "$dbpassword") or die("unable to connect to the database"); 
mysql_select_db("$dbname", $db_conn) or die("unable to select the database"); 
$name=$_POST['name'];
$email=$_POST['email'];
$message=$_POST['message'];
$date=date("Y-m-d H:i:s");
$sql="INSERT INTO *** (name,email,message,date) VALUES ('$name','$email','$message','$date')";
$result=mysql_query($sql);
?>
Таблица
Код:
CREATE TABLE `***` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(100) NOT NULL,
  `email` varchar(100) NOT NULL,
  `message` varchar(100) NOT NULL,
  `date` datetime NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
Та записва ми само датата.
 
Аз несъм много навътре, но няма ли да стане ако махнеш това в червеното?

И да добавиш това в синьото!

<form action="form.php" type="post">
Вашето име<br>
<input name="name" type="text"><br>
Вашият e-mail (по желание)<br>
<input name="email" type="text"><br>
Коментар<br>
<textarea name="message" rows="5" cols="50"></textarea><br>
<input type="submit" name="submit" value="submit">
</form>
<?php
$dbhost="***";
$dbname="***";
$dbuser="***";
$dbpassword="***";
$db_conn = mysql_connect("$dbhost", "$dbuser", "$dbpassword") or die("unable to connect to the database");
mysql_select_db("$dbname", $db_conn) or die("unable to select the database");
$name=$_POST['name'];
$email=$_POST['email'];
$message=$_POST['message'];
$date=date("Y-m-d H:i:s");
$sql="INSERT INTO *** (name,email,message,date) VALUES ('','$name','$email','$message','$date')";
$result=mysql_query($sql);
?>
 
StormBreaker каза:
Аз несъм много навътре, но няма ли да стане ако махнеш това в червеното?

<form action="form.php" type="post">
Вашето име<br>
<input name="name" type="text"><br>
Вашият e-mail (по желание)<br>
<input name="email" type="text"><br>
Коментар<br>
<textarea name="message" rows="5" cols="50"></textarea><br>
<input type="submit" name="submit" value="submit">
</form>
<?php
$dbhost="***";
$dbname="***";
$dbuser="***";
$dbpassword="***";
$db_conn = mysql_connect("$dbhost", "$dbuser", "$dbpassword") or die("unable to connect to the database");
mysql_select_db("$dbname", $db_conn) or die("unable to select the database");
$name=$_POST['name'];
$email=$_POST['email'];
$message=$_POST['message'];
$date=date("Y-m-d H:i:s");
$sql="INSERT INTO *** (name,email,message,date) VALUES ('$name','$email','$message','$date')";
$result=mysql_query($sql);
?>
То без него па изобщо няма да записва аз проблема немога да го намера :?
 
Открих ти грешката. Извеждай променливите с $_GET , а не с $_POST , тъй като рефрешваш страницата с формата. При мен с $_GET работи всичко, а с Пост нестава! :wink: :wink: :wink: :wink: :wink:
 
Някой може ли да постне проверката на това дали информацията е записана и ако е да изписва "Информацията е добавена" а ако ли не "Информацията небеше добавена"...лесно става със if...else но не се сещам как точно ще стане самата проверка
 
Здравей!

По примерния код с иф-елсе:

...
$sql="INSERT INTO *** (name,email,message,date) VALUES ('$name','$email','$message','$date')";
$result=mysql_query($sql);

if($result)
{
echo "Информацията е добавена!";
}
else
{
echo "Информацията не беше добавена";
}

В случая $result ти съхранява резултата от операцията. Ако се е изпълнила, стойността е трю, в противен случай - фолс. Съвсем стандартна конструкция. Може и обртно:

if(!$result)
{
echo "Информацията не беше добавена";
}
else
{
echo "Информацията е добавена!";
}
 

Back
Горе