[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ошибка в php
strela007
Привет всем! :) не давно сделал скрипт по отправке данных из формы в таблицу БД но выдаёт ошибку.
Вот скрипт:


<? error_reporting(E_ALL);
/* Замените нижеследующие переменные на свои */
$host = "localhost"; // MySQL server
$user_db = "artem"; // MySQL пользователь
$pass_db = "****"; // MySQL пароль
$dbase = "base"; // MySQL пароль
$dtable = "1234"; // Таблица в базе данных

/* Соединение с сервером базы данных */

mysql_connect ($host, $user_db, $pass_db);
/* Выбор базы данных */
mysql_select_db($dbase);

$id = $_POST["id"];
$Name = $_POST["Name"];
$Surname = $_POST["Surname"];
$Email = $_POST["Email"];
$Password = $_POST["Password"];
$Floor = $_POST["Floor"];
$Date of birth = $_POST["Date of birth"];
$Country = $_POST["Country"];
$Area = $_POST["Area"];
$Citi = $_POST["Citi"];

/// Основные действия скрипта
// Создание SQL запроса
$sql = "INSERT INTO $dtable (id,Name,Surname,Email,Password,Floor,Date of birth,Country,Area,City) VALUES ('$id','$Name','$Surname','$Email','$Password','$Floor','$Date of birth','$Country','$Area','$City')";

/* Исполнение SQL запроса */
$result = mysql_query($sql);
// Проверка исполнения операции
if(!$result) {
echo "<H2>Ошибка!</H2>\n";
echo mysql_error().": ".mysql_error()."<P>";
} else {
print '<META HTTP-EQUIV="Refresh" CONTENT="2; URL=registration.html">';
print 'Запись <b>$Name - $Surname - $Email - $Password - $Floor - $Date of birth - $Country - $Area - $City</b> создана!';
//echo phpinfo();
}
?>


Можете подсказать в чём ошибка????



Спустя 4 минуты, 39 секунд (1.03.2011 - 00:21) twin написал(а):
В кавычках

Спустя 2 минуты, 17 секунд (1.03.2011 - 00:23) strela007 написал(а):
каких и где?

Спустя 4 минуты, 50 секунд (1.03.2011 - 00:28) strela007 написал(а):
пожалуйста подскажите очень нужно(((((

Спустя 10 минут, 39 секунд (1.03.2011 - 00:39) Evilsoul написал(а):
в этих строках:
$sql = "INSERT INTO $dtable (id,Name FROM $dtable) VALUES ('$name', ')";
print "<META HTTP-EQUIV="Refresh" CONTENT="2; URL=reg.html">";
print "Запись <b>id,Name,</b> создана!";

Спустя 2 минуты, 48 секунд (1.03.2011 - 00:42) strela007 написал(а):
Evilsoul
а что в них надо добавить?

Спустя 1 минута, 17 секунд (1.03.2011 - 00:43) Evilsoul написал(а):
напиши в самом начале файла ПШП
error_reporting(E_ALL);
и ПШП тебе сам напишет где ошибки.

Спустя 4 минуты, 14 секунд (1.03.2011 - 00:47) strela007 написал(а):
Evilsoul всё равно выдаёт то что и было:

Ошибка!\n"; echo mysql_errno().": ".mysql_error()."

"; } else { print ''; print "Запись id,Name!"; //echo phpinfo(); } ?>

Спустя 55 минут, 25 секунд (1.03.2011 - 01:42) Invis1ble написал(а):
strela007
синтаксические ошибки в запросе и в выводе мета-тега

Спустя 5 часов, 30 минут, 32 секунды (1.03.2011 - 07:13) twin написал(а):

print '<META HTTP-EQUIV="Refresh" CONTENT="2; URL=reg.html">'; 
print 'Запись <b>id,Name,</b> создана!';

Спустя 38 минут, 27 секунд (1.03.2011 - 07:51) strela007 написал(а):
Информацию по теме брал на этом сайте:там есть этот скрипт я точно так как там сделал

Спустя 12 минут, 19 секунд (1.03.2011 - 08:04) strela007 написал(а):
Я немного изменил скрипт,вообще я хочу сделать регистрацию на сайте но при отправке данных в таблицу выдаёт ошибку:

Ошибка!\n"; echo mysql_error().": ".mysql_error()."

"; } else { print ''; print 'Запись $Name - $Surname - $Email - $Password - $Floor - $Date of birth - $Country - $Area - $City создана!'; //echo phpinfo(); } ?>



Спустя 1 час, 25 минут, 18 секунд (1.03.2011 - 09:29) linker написал(а):
$Date of birth = $_POST["Date of birth"]; 
в топку, нельзя давать переменным такие имена. Возьми уже учебник по PHP и учись.

Спустя 57 минут, 9 секунд (1.03.2011 - 10:26) Evilsoul написал(а):
strela007
у тебя здесь полно ошибок, тебе нужно учится правописанию, иди сюда и прочти хотя бы эти 10 шагов

Спустя 1 день, 11 часов, 17 минут, 43 секунды (2.03.2011 - 21:44) strela007 написал(а):
Как отправить данные из формы php в таблицу БД?????? huh.gif

Спустя 12 часов, 1 минута, 13 секунд (3.03.2011 - 09:45) linker написал(а):
Тебе уже все рассказали, осталось только применить.

Спустя 2 дня, 12 часов, 46 минут, 37 секунд (5.03.2011 - 22:32) strela007 написал(а):
Всё понял)спасибо rolleyes.gif
Но возник другой вопрос:
Как присвоить значение из формы в переменную??????

Спустя 1 час, 36 минут, 33 секунды (6.03.2011 - 00:08) Invis1ble написал(а):
strela007
$var = $_POST['var'];

Спустя 1 день, 13 часов, 4 минуты, 46 секунд (7.03.2011 - 13:13) strela007 написал(а):
Короче говоря есть три файла:db.php,index.php,reg.php

db.php
--------
<?php 
$db = mysql_connect("localhost","aaa","****");
mysql_select_db("reg",$db);
?>

index.php
----------
<?php include ("db.php"); 
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>Отправка прошла успешно</title>
</
head>

<
body>
<?php
$res = mysql_query("INSERT INTO reg (name, email, password) VALUES ('$name','$email','$password')", $db);

if (isset($res)>0) {echo "Вы успешно отправили данные";}

$name = $_POST['name'];
$email = $_POST['email'];
$password = $_POST['password'];
?>
</body>
</
html>

reg.php
------------
<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>Untitled Document</title>
</
head>
<
body>
<!--
Форма отправки в таблицу БД -->
<
form action="index.php" method="POST">
<
p>Имя</p>
<
input name="name" type="text" size="45" maxlength="45" /><br />
<
p>email</p>
<
input name="email" type="text" size="45" maxlength="45" /><br />
<
p>password</p>
<
input name="password" type="text" size="45" maxlength="45" /><br />
<
button type="submit" name="reg">отправить</button>

</
form>

</
body>
</
html>

--------------------------
Но не могу понять как сделать что бы после нажатия кнопки "отправить " данные из формы отправились в таблицу БД[php]

Спустя 9 минут, 34 секунды (7.03.2011 - 13:23) twin написал(а):
Наверное стоит сначала получить данные, потом записывать, нежели наоборот?

Спустя 7 минут, 44 секунды (7.03.2011 - 13:30) m4a1fox написал(а):
Цитата
<form action="index.php" method="POST">
на это
<form action="" method="POST">

Спустя 1 минута, 34 секунды (7.03.2011 - 13:32) m4a1fox написал(а):
strela007
Смотри. Вот это
<?php 
$name = $_POST['name'];
$email = $_POST['email'];
$password = $_POST['password'];
$res = mysql_query("INSERT INTO reg (name, email, password) VALUES ('$name','$email','$password')", $db);

if (isset($res)>0) {echo "Вы успешно отправили данные";}
?>
на самый верх файла index.php

Спустя 1 минута, 45 секунд (7.03.2011 - 13:34) m4a1fox написал(а):
strela007
Вот это -
<?php include ("db.php"); 
?>
замени на это
<?php
include './db.php';
?>

Учись сразу правильно писать. А то потом будет очень сложно...

Спустя 7 минут, 29 секунд (7.03.2011 - 13:41) strela007 написал(а):
Спасибо большое всё получилось)))

Спустя 1 минута, 39 секунд (7.03.2011 - 13:43) m4a1fox написал(а):
strela007
Поехали дальше. А дальше веселее... Надо сделать проверку на пустоту, т. е. empty.

if(!empty($_POST['name'])) $name = trim($_POST['name']);
if(!empty($_POST['email'])) $email = trim($_POST['email']);
if(!empty($_POST['password'])) $password = trim($_POST['password']);

Ну там еще много проверок можно сделать. Например, выводить ошибку если какое-либо поле - пусто. Потом проверять на соответствие email. Потом можно на длину символов в поле password. В общем куча всего.

Спустя 8 минут, 19 секунд (7.03.2011 - 13:51) m4a1fox написал(а):
strela007
Еще.... Вот это
Цитата
if (isset($res)>0) {echo "Вы успешно отправили данные";}

Вроде так
if (mysql_num_rows($res) > 0)
{
echo "Вы успешно отправили данные";
}
По моему так правильнее. Да. И ещё! Делай код сразуц читабельным. Дабы потом не ковыряться в строчках.

Спустя 4 минуты, 52 секунды (7.03.2011 - 13:56) m4a1fox написал(а):
strela007
Ну как там успехи? smile.gif

Спустя 1 час, 4 минуты, 29 секунд (7.03.2011 - 15:00) strela007 написал(а):
Всё отлично спасибо smile.gif

Спустя 4 минуты, 51 секунда (7.03.2011 - 15:05) m4a1fox написал(а):
strela007
Молодцом.

Спустя 4 минуты (7.03.2011 - 15:09) m4a1fox написал(а):
strela007
Есть еще вопросы. Чем смогу, помогу.

Спустя 2 часа, 9 минут, 17 секунд (7.03.2011 - 17:19) inpost написал(а):
m4a1fox
if (mysql_num_rows($res)) достаточно. 0 = false, не ноль = true.

Спустя 15 часов, 51 минута, 17 секунд (8.03.2011 - 09:10) strela007 написал(а):
Да вот такой вопрос:Нужно что бы надпись

f (isset($res)>0)
{
echo "Вы успешно отправили данные";
}

Выводилась после нажатия кнопки отправить.

Спустя 1 час, 31 минута, 30 секунд (8.03.2011 - 10:41) SOKOJI написал(а):
if(isset($_REQUEST['submit']) && $_REQUEST['submit'] == 'Отправить') {
echo 'Надпись';
}

Спустя 21 минута, 5 секунд (8.03.2011 - 11:02) Guest написал(а):
Добрый день всем!
Есть сайт на php самописец имеет следующий код :

<?php
ob_start("ob_gzhandler");
// здесь обработка url
$REQUEST_URI1=ereg_replace(".html","/",$_SERVER['REQUEST_URI']);
$var=explode("/",$REQUEST_URI1);
if ((trim($var[0])!='') && ($var[0])) $page = $var[0];
if ((trim($var[1])!='') && ($var[1])) $page = $var[1];
else $page = 'main';
for($i=2;$i<sizeof($var);$i++)
if ($var[$i])
$arg[$i-2]=$var[$i];
$title="{$page}.";
$descr="{$page}.";
$kwds="";
include_once($page.".php");
switch($page)
{
case "main":
$title="";
$descr="";
$kwds="";
break;
}
$mtime = microtime(); //Считываем текущее время
$mtime = explode(" ",$mtime); //Разделяем секунды и миллисекунды
// Составляем одно число из секунд и миллисекунд
// и записываем стартовое время в переменную

$tstart = $mtime[1] + $mtime[0];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml" lang="ru">
<
head>
<?php echo "<title>{$title}</title>"; ?>
<?php
echo "<meta name=\"Description\" content=\"{$descr}\" />"; ?>
<?php
echo "<meta name=\"Keywords\" content=\"{$kwds}\" />"; ?>
<meta http-equiv="Content-Type" content="text-html; charset=Windows-1251" />
</
head>
<
body>
<
div id="container">
<
div id="header">
</
div>
<
div id="menu">
</
div>
<
div id="context">
<?php echo $str;?>
</div>
<
div id="footer">
</
div>
</
div>
</
div>
</
body>
</
html>


А фаил main.php содержит следующее:

<?php $str="тут html страницы";?>

Так если вставить java script то он не работает. Подскажите как исправить проблему.

Спустя 24 минуты, 13 секунд (8.03.2011 - 11:27) inpost написал(а):
Guest
Со своими вопросами в свои темы. Мы же не кашу варим!

Спустя 13 минут, 15 секунд (8.03.2011 - 11:40) strela007 написал(а):
Ну вот возник ещё один вопрос надеюсь последний rolleyes.gif
С скриптом который заносит данные из формы в таблицу БД я всё выучил и понял.Но как вывести данные на сайт из таблицы если вписуешь их в форму? smile.gif

Спустя 3 минуты, 7 секунд (8.03.2011 - 11:43) inpost написал(а):
strela007
через echo. Что именно не понятно тут?

Спустя 21 минута, 42 секунды (8.03.2011 - 12:05) m4a1fox написал(а):
inpost
Спасибо что поправили. Я понял почему.
Быстрый ответ:

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