Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Переменные не передаются.
 
 автор: Габиль   (16.07.2007 в 14:52)   письмо автору
 
 

Прочитал многие ссылки, которые мне рекомендовали тут, но ответа на свой вопрос так и не нашел.

Написал обычный скрипт для занесения имени и номер телефона в базу. Скрипт пхп работает идеально и mySQL тоже. Данные в базу добавляются, id номера тому живой пример, но проблема в том, что переменные $name и $phone в базе не отображаются.


mysql> SELECT * FROM table;


------------------------------
ID | name | phone |
1 | | |
2
3
4
5
6
7

   
 
 автор: Trianon   (16.07.2007 в 14:59)   письмо автору
 
   для: Габиль   (16.07.2007 в 14:52)
 

сложно чинить скрипт, не видя его текста.

   
 
 автор: Габиль   (17.07.2007 в 15:42)   письмо автору
 
   для: Trianon   (16.07.2007 в 14:59)
 

<?

$host = "localhost";
$username = "root";
$password = "gabil";
$dbname = "basa";
$dbtable = "phone";


mysql_pconnect ("$host", "$username", "$password");

mysql_select_db("$dbname");

$query = "INSERT INTO $dbtable VALUES (id, '$name', '$phone')";


$result = mysql_query($query);

if(!$result) {
echo "<H2>Ошибка!</H2>\n";
echo mysql_errno().": ".mysql_error()."<P>";
} else {
print "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"2; URL=forma.html\">";
echo "Запись <b>$name - $phone</b> создана!";
}
?>

   
 
 автор: Unkind   (17.07.2007 в 16:11)   письмо автору
 
   для: Габиль   (17.07.2007 в 15:42)
 

1. Желательно код брать в теги [cоde] и [/code].
2. Каким методом (GET, POST) передаются данные? Не стоит расчитывать на register_globals = on. Если, это POST, то, например, так нужно принимать данные:


<?php
if(get_magic_quotes_gpc()) $_POST array_map("stripslashes"$_POST);
$name = isset($_POST["name"]) ? (string) $_POST["name"] : "";
$phone = isset($_POST["phone"]) ? (string) $_POST["phone"] : "";

//Нужно экранировать данные перед вставкой в запрос:
$sql mysql_query("INSERT INTO `" $dbtable "` VALUES(0, '" mysql_escape_string($name) . "', '" mysql_escape_string($phone) . "');");
?>


3. Зачем Вы пишите "$host", "$username", "$password"? Они и так имеют тип string:
<?php
mysql_pconnect 
($host$username$password);
?>


И еще кое-что: желательно использовать "<?php", а не короткий вариант "<?", т.к. короткий вариант может быть отключен в php.ini.

   
 
 автор: вит   (17.07.2007 в 18:35)   письмо автору
 
   для: Unkind   (17.07.2007 в 16:11)
 

а где формируются переменные id,name,phone

   
 
 автор: Trianon   (17.07.2007 в 20:09)   письмо автору
 
   для: вит   (17.07.2007 в 18:35)
 

Переменная name формируется на 3-й строке скрипта.
Переменная phone формируется на 4-й строке скрипта.
Переменной $id в скрипте нет.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования