Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Простая гостевая. БД - MySQL


Автор: zluka 28.9.2008, 14:17
Скрипт:
Код

echo "<form action='book.php' method='GET'>";
echo "<table border = 0>";
echo "<tr>";
echo "<td><input type='text' name='user_name' value=''> Name: *</td>";
echo "</tr>";
echo "<tr>";
echo "<td><input type='text' name='email' value=''> Email: *</td>";
echo "</tr>";
echo "<tr>";
echo "<td><input type='text' name='website' value=''> Website:</td>";
echo "</tr>";
echo "<tr>";
echo "<td><textarea name='text' cols='50' rows='10' wrap='on'></textarea></td>";
echo "</tr>";
echo "<tr>";
echo "<td><input type='submit' name='knopka' value='Submit message'></td>";
echo "</tr>";
echo "</table>";
echo "</form>";


$dblocation = "127.0.0.1";
$dbname = "php";
$dbuser = "root";
$dbpasswd = "";
$dbcnt = mysql_connect($dblocation, $dbuser, $dbpasswd);
$dbphp = mysql_select_db($dbname);

function viewMessages()
{
    $query_view = mysql_query("SELECT * FROM book");
    $rows = mysql_num_rows($query_view);

    echo "<table border=1>";
    for($i=0; $<$rows; $i++)
    {
        $f = mysql_fetch_array($query_view);
        echo "<tr>";
        echo "<td>";
         echo "#".$f['id'].$f['Name']."<hr>".$f['Datetime'];
        echo "</td>";
        echo "</tr>";

        echo "<tr>";
        echo "<td>";
         echo $f['Text'];
        echo "</td>";
        echo "</tr>";

        echo "<tr>";
        echo "<td bgcolor=gray></td>";
        echo "</tr>";
    }
    echo "</table>";
}

viewMessages();

if(!empty($_GET))
{
    $user_name = $_GET['user_name'];
    $email = $_GET['email'];
    $website = $_GET['website'];
    $text = $_GET['text'];
    $datetime = date('Y-m-d H:i:s');

    $query_insert = mysql_query("INSERT INTO `book` (id, Name, Email, Website, Text, Datetime) VALUES (NULL, '$user_name', '$email', '$website', '$text', '$datetime')");

viewMessages();
}

После выполнения скрипта - ничего не выводит. Проблема в ф-и viewMessages(), когда ее убираю - форму выводит. Но что в ней неправильно?
P.S. Коннект к MySQL выполняеться успешно, выбор БД также, проверял.

Автор: yurik_l 28.9.2008, 15:36
zluka, в строке 35

Код

for($i=0; $<$rows; $i++)


заменить на

Код

for($i=0; $i<$rows; $i++)

Автор: nerezus 28.9.2008, 17:32
Цитата

Но что в ней неправильно?
 Смотри лог ошибок пхп.
Используй IDE.

Автор: zluka 28.9.2008, 17:51
Цитата(yurik_l @  28.9.2008,  15:36 Найти цитируемый пост)
заменить на
код PHP1:for($i=0; $i<$rows; $i++)

Действительно, заработало. Спасибоsmile
Но почему же PHP не сказал об ошибке?:(

Автор: MoLeX 29.9.2008, 08:55
Цитата(zluka @  28.9.2008,  17:51 Найти цитируемый пост)
Но почему же PHP не сказал об ошибке?:(

а они у тебя включены?!

Автор: zluka 29.9.2008, 11:05
Только сейчас заметил, что в php.ini:
Код

display_errors = Off

Проблема решена.

Автор: skyboy 29.9.2008, 11:45
zluka, и что? разве ошибки не писались в лог?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)