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

Форум PHP

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

 

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

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

тема: Вызываю левую функцию и всё перестаёт работать
 
 автор: solovieff   (18.10.2005 в 09:23)   письмо автору
 
 

if (mysql_con()) 
{
    echo mysql_error();
    button_form();
    if (!@$newnote)
        view();
    else
    {
    fill_in();
    mysql_error();
    if ((@$ok))
        {
        $date=date('d F Y. l. H:i');
        mysql_query("INSERT INTO 'messages' VALUES ('$text', '$date','$name', '$key', '$comment', '')");
        echo "<br>";
        echo mysql_error();
        view();
        }
    }    
}


View -- функция, выводящая на экран содержимое базы данных, работает, если не использовать функцию Button_form, которая выглядит всего-то вот так:

function button_form()
{
    echo "<form  method='POST'>";
    echo "<input type='submit' name='newnote' value='New note'>";
    echo "</form>";
}


Или дело в неправильном посторении условного цикла?
Функция fill_in просто заполняет форму и без button_form и цикла работает корректно.

Значения в базу по непонятным причинам не добавляются.

   
 
 автор: cheops   (18.10.2005 в 14:07)   письмо автору
 
   для: solovieff   (18.10.2005 в 09:23)
 

Хм... а что-то никакого условного цикла не видно?

   
 
 автор: solovieff   (18.10.2005 в 17:10)   письмо автору
 
   для: cheops   (18.10.2005 в 14:07)
 

if (!@$newnote)
view(); -- это что?

Вообще, хотя бы приблизительно можно сказать, в чём причина ошибки?

   
 
 автор: cheops   (18.10.2005 в 21:13)   письмо автору
 
   для: solovieff   (18.10.2005 в 17:10)
 

>if (!@$newnote)
> view(); -- это что?
А у меня взляд за цикл ухватился, слово условный я пропустил... ну лучше использовать термин условный оператор...

>Вообще, хотя бы приблизительно можно сказать, в чём причина
>ошибки?
Странно, вряд ли функция button_form(); является причиной ошибки... она же вроде совсем безобидная... а откуда берётся переменная $newnote и почему она предваряется символом подавления вывода предупреждений @?

   
 
 автор: solovieff   (19.10.2005 в 08:28)   письмо автору
 
   для: cheops   (18.10.2005 в 21:13)
 

input type='submit' name='newnote' value='New note' -- отсюда переменная $newnote

Интересное в том, что без этой самой buttonform() всё работает. Потому и не понимаю, в чём дело может быть.

   
 
 автор: cheops   (19.10.2005 в 14:09)   письмо автору
 
   для: solovieff   (19.10.2005 в 08:28)
 

А если вместо вызова функции написать содержимое функции, т.е. echo, как реагирует скрипт?

   
 
 автор: solovieff   (20.10.2005 в 09:05)   письмо автору
 
   для: cheops   (19.10.2005 в 14:09)
 

Так же, как ему реагировать-то? (

Можно даже перефразировать вопрос (упростить всё):

<?
include 'func.php';
if (
mysql_con())
{
echo 
mysql_error();
//newnote();
//if (@$new)
    //{
    
fill_in();
    if (@
$ok)
        {
        
$date=date('d F Y:l. H:i');
        
mysql_query("INSERT INTO 'main' VALUES ('', '$name', '$date', '$text', '$key')");
        echo 
mysql_error();
        
view();
        }
    
//}
}
?>


Если убрать всё, что сейчас закомменчено -- то будет работать. Как так? (buttonform() переименована в newnote())

   
 
 автор: cheops   (20.10.2005 в 11:42)   письмо автору
 
   для: solovieff   (20.10.2005 в 09:05)
 

Подставьте вместо newnote() - содержимое фунции
<? 
include 'func.php'
if (
mysql_con()) 

    echo 
mysql_error(); 
    echo 
"<form  method='POST'>"
    echo 
"<input type='submit' name='newnote' value='New note'>"
    echo 
"</form>";
    
//if (@$new) 
    //{ 
    
fill_in(); 
    if (@
$ok
        { 
        
$date=date('d F Y:l. H:i'); 
        
mysql_query("INSERT INTO 'main' VALUES ('', '$name', '$date', '$text', '$key')"); 
        echo 
mysql_error(); 
        
view(); 
        } 
    
//} 

?>

Скрипт работает или перестаёт работать?

   
Rambler's Top100
вверх

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