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

Форум PHP

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

 

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

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

тема: Не могу понять в чём проблема........?!
 
 автор: zelen   (06.09.2006 в 16:14)   письмо автору
 
 

Проблема в том, что скрипт всё время выдаёт "Введите название раздела", но в БД строку добавляет с данными!
вот форма:

<a href="javascript: history.back()">Назад</a>
<form method="post" action="addpart.php">
Название:
<input type="text" name="name"></br>
<input type="submit" value="Добавить">
</form>


вот скрипт:

<?php

require_once("../config.php");
if (empty(
$_POST ['name'])) links("Введите название раздела.");
$name str_replace ("'","`"$_POST ['name'] ) ;
$query "INSERT INTO artpage VALUES (NULL, '".$name."', 0)";
 if (
mysql_query($query))
     {
         echo 
"  
         <html>
         <head>
         <meta http-equiv='Refresh' content='0'; url='index.php'>
         </head>
         </html>"
;

     }
     else 
     {
     
puterror("Ошибка.......");
     }

function 
links($msg)
{
echo 
"<p>".$msg."</p>";
echo 
"<p><a href=# onClick='history.back()'>Вернуться к форме</a></p>";
echo 
"<p><a href='index.php'></a>Администрирование статей</p>";
exit();
}
?>

   
 
 автор: P@Sol   (06.09.2006 в 16:27)   письмо автору
 
   для: zelen   (06.09.2006 в 16:14)
 

надо или оборвать выполнение скрипта
<?
if (empty($_POST ['name'])) 

   
links("Введите название раздела."); 
   exit;
}

или сделать условие else

<?php 

require_once("../config.php"); 
if (empty(
$_POST ['name'])) links("Введите название раздела."); 
else
{
$name str_replace ("'","`"$_POST ['name'] ) ; 
$query "INSERT INTO artpage VALUES (NULL, '".$name."', 0)"
 if (
mysql_query($query)) 
     { 
         echo 
"   
         <html> 
         <head> 
         <meta http-equiv='Refresh' content='0'; url='index.php'> 
         </head> 
         </html>"


     } 
     else  
     { 
     
puterror("Ошибка......."); 
     } 

function 
links($msg

echo 
"<p>".$msg."</p>"
echo 
"<p><a href=# onClick='history.back()'>Вернуться к форме</a></p>"
echo 
"<p><a href='index.php'></a>Администрирование статей</p>"
exit(); 
}

?> 

   
 
 автор: coloboc66   (06.09.2006 в 16:29)   письмо автору
 
   для: zelen   (06.09.2006 в 16:14)
 


links("Введите название раздела."); 

А что это у вас за links() такое? Я такой функции в справочнике не нашел. Может ее на echo() pfvtybnm

   
 
 автор: P@Sol   (06.09.2006 в 16:29)   письмо автору
 
   для: coloboc66   (06.09.2006 в 16:29)
 

эта функция описана в конце кода:))

   
 
 автор: zelen   (06.09.2006 в 16:41)   письмо автору
 
   для: P@Sol   (06.09.2006 в 16:29)
 

чё-то ни то, ни другое не помогло! может еще есть какие советы?

   
 
 автор: ec_stasis   (06.09.2006 в 16:48)   письмо автору
 
   для: zelen   (06.09.2006 в 16:41)
 

А что он добавляет на место name? Не пустую ли строку?

   
 
 автор: zelen   (06.09.2006 в 16:53)   письмо автору
 
   для: ec_stasis   (06.09.2006 в 16:48)
 

ни как нет! добавляет то, что вводишь в форме! это -то и пугает! и главное если функцию links заменить на echo всё остается также!

   
 
 автор: P@Sol   (06.09.2006 в 16:54)   письмо автору
 
   для: zelen   (06.09.2006 в 16:53)
 

.

   
 
 автор: P@Sol   (06.09.2006 в 16:57)   письмо автору
 
   для: zelen   (06.09.2006 в 16:41)
 

как это не помогло?
exit(); обрывает выполнение скрипта и в бд ничего не должно занестись, т.к. скрипт до тех строчек не доходит...

или вопрос в том, что empty показывает, что переменная пустая, а она не пустая? тогда вместо empty isset используй

   
 
 автор: ec_stasis   (06.09.2006 в 17:06)   письмо автору
 
   для: P@Sol   (06.09.2006 в 16:57)
 

>>>или вопрос в том, что empty показывает, что переменная пустая, а она не пустая? тогда вместо empty isset используй
empty() не скажет, что переменная пустая, если в ней, например, строка 'vasja'

   
 
 автор: P@Sol   (06.09.2006 в 17:13)   письмо автору
 
   для: ec_stasis   (06.09.2006 в 17:06)
 

согласен:) ошибся

   
 
 автор: zelen   (06.09.2006 в 17:08)   письмо автору
 
   для: P@Sol   (06.09.2006 в 16:57)
 

isset не помогает, да я это у же пробывал и до обращения на форум! целый день бьюсь с этим элементарным скриптом, ежу голова трещит!

   
 
 автор: P@Sol   (06.09.2006 в 17:14)   письмо автору
 
   для: zelen   (06.09.2006 в 17:08)
 

Вы знаете, у меня Ваш скрипт работает прекрасно...значит дело в php.ini или php. какая у вас версия php?

   
 
 автор: zelen   (06.09.2006 в 17:17)   письмо автору
 
   для: P@Sol   (06.09.2006 в 17:14)
 

PHP Version 5.1.2
вот у меня тоже уже часок другой назад закралась эта мысль!

   
 
 автор: P@Sol   (06.09.2006 в 17:27)   письмо автору
 
   для: zelen   (06.09.2006 в 17:17)
 

поискал по форуму - http://softtime.ru/forum/srchform.php?id_forum=1&name=_POST&numberthemes=30&srchwhere=2&logic=0&page=3

тем подобных уйма - но решения ни в одной нет:)))))))))

   
 
 автор: Trianon   (06.09.2006 в 17:38)   письмо автору
 
   для: zelen   (06.09.2006 в 17:08)
 

>isset не помогает, да я это у же пробывал и до обращения на форум!
>целый день бьюсь с этим элементарным скриптом, ежу голова трещит!

а какого поведения Вы от него ожидаете?

   
 
 автор: coloboc66   (06.09.2006 в 16:43)   письмо автору
 
   для: P@Sol   (06.09.2006 в 16:29)
 

Ну да- это я настолько привык к использованию echo, что даже код до конца не просмотрел. Лопухнулся...

   
Rambler's Top100
вверх

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