Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2011, 15:29   #1
ilushka2306
Пользователь
 
Регистрация: 19.06.2010
Сообщений: 48
По умолчанию Запись в БД

Подскажите пожалуйста, в чем ошибка и как ее исправить:
PHP код:
<?php   
session_start
(); 
?>  
<html> 
<head> 
<title> 
</title> 
<body> 
  <?php 
$dblocation 
"localhost";  
$dbname "site";  
$dbuser "root";  
$dbpass "";  

$dbconnect mysql_connect ($dlbocation$dbuser$dbpass);  
mysql_select_db ($dbname,$dbconnect);  

if (!
$dbconnect)  
{  
    echo (
"Ошибка! Не возможно подключиться к БД!");  
    exit();  
}  
else {  
    if (!@
mysql_select_db($dbname$dbconnect))  
    {  
        echo(
"<p>Выбранной базы данных не существует!</p>");  
    }  
}  

    
$query "SELECT * FROM `forum`";   
    
$res mysql_query$query ); 
     
    {   
?> 
<table width="80%" align="center"><tr><td width="20%">Логин</td><td width="30%">Тема</td><td>Текст</td></tr><tr><td><?php $login ?></td><td><?php $title ?></td><td><?php $text ?></td></tr></table> 
<?php 
    

?> 
  <br> 
  <?php 
if ($_SESSION['login']!=''
{   
    if (
$_POST)  
    {   
        
$title $_POST['title'];  
        
$text =  $_POST['text'];  
        
$login $_SESSION['login']; 
        
$date date("d = F = Y "); 
           
        
$error false;  
        
$errortext '<p>Подожди!</p><ul>';  
          
        if (empty(
$title))  
        {  
            
$error true;  
            
$errortext .='<li>А заголовок?</li>';  
        }  
          
        if (empty(
$text))  
        {  
            
$error true;  
            
$errortext .='<li>А где текст-то?</li>';  
        }  
          
        
//$errortext .='</ul>';  
          
        
if ($error)  
        {  
            echo (
$errortext);  
        }  
        else  
        {  
         
            
$dblocation "localhost";  
            
$dbname "site";  
            
$dbuser "root";  
            
$dbpass "";  

        
$dbconnect mysql_connect ($dlbocation$dbuser$dbpass);  
        
mysql_select_db ($dbname,$dbconnect);  

        if (!
$dbconnect)  
        {  
            echo (
"Ошибка! Не возможно подключиться к БД!");  
            exit();  
        }  
        else {  
            if (!@
mysql_select_db($dbname$dbconnect))  
            {  
                echo(
"<p>Выбранной базы данных не существует!</p>");  
            }  
        }  
                      
        
$sql mysql_query("INSERT INTO 'forum' (login,title,text,date) VALUES('$login', '$title', '$text', '$date')"); 
              
        if (
$sql)  
        {  
            echo(
'<p>Новость добавлена.</p>');  
        }  
        
mysql_close($dbconnect);  
        }  
    }  
    
?> 
          <form action="forum.php" method="post"> 
        Заголовок:  
        <input type="text" name="title" width="400px" maxlength="200"><br>  
        Текст:<br>  
        <textarea name="text" rows="10" cols="70"></textarea><br>  
        <input type="submit" name="add" value="Написать"> 
        <input type="reset" value="Очистить"> 
        </form> 
  <?php  
  

  else 
  { 
   
?> 
   Вы не можете оставлять свои сообщения, пожалуйста войдите 
       <form method="post" action="forum.php"> 
        <center> 
    Логин: 
    <input type="text" 
        name="login" 
        value=""> 
    Пароль: 
    <input type="password" 
        name="password" 
        value=""> 
    <input type="submit" name="vhod" value="Вход"> 
    </center> 
    </form> 
   <?php 
if (($_POST['login'] != '') & ($_POST['password'] != ''))    
    {   
    
$login $_POST['login'];   
    
$password md5($_POST['password']);           
    
$query "SELECT * FROM `users` WHERE login = '$login' AND password='$password' LIMIT 0 , 30";   
    
$res mysql_query$query );   
    if ( 
mysql_num_rows$res ) == )   
    {     
        
$_SESSION['login'] = $_POST['login'];  
    } 
    } 
?> 
или <a href="register.php">зарегистрируйтесь</a> 
<?php 
  

?> 
</body> 
</html>
Код вроде выполняется, ошибок ни каких не пишет, но данные в БД не заносит...
ilushka2306 вне форума Ответить с цитированием
Старый 15.05.2011, 16:00   #2
graymaster
Форумчанин
 
Аватар для graymaster
 
Регистрация: 03.05.2011
Сообщений: 158
По умолчанию

закавычьте правильно вот тут
PHP код:
$sql mysql_query("INSERT INTO 'forum' (login,title,text,date) VALUES('$login', '$title', '$text', '$date')"); 
вот так
PHP код:
$sql mysql_query("INSERT INTO `forum` (`login`,`title`,`text`,`date`) VALUES('$login', '$title', '$text', '$date')"); 
PS: А зачем мы так многократно и яростно соединяетесь и выбираете базу данных ?

PPS:
PHP код:
<?php
session_start
();
?>
<html>
<head>
<title></title>
<body>  
<?php
$dblocation 
"localhost";
$dbname "site";
$dbuser "root";
$dbpass "";

$dbconnect mysql_connect($dlbocation$dbuser$dbpass);
mysql_select_db($dbname$dbconnect);

if (!
$dbconnect) {
    echo (
"Ошибка! Не возможно подключиться к БД!");
    exit();
} else {
    if (!@
mysql_select_db($dbname$dbconnect)) {
        echo (
"<p>Выбранной базы данных не существует!</p>");
    }
}

$query "SELECT * FROM `forum`";
$res mysql_query($query);
$ret mysql_fetch_array($resMYSQL_ASSOC);
?>  
<table width="80%" align="center">
    <tr>
        <td width="20%">Логин</td>
        <td width="30%">Тема</td>
        <td>Текст</td>
    </tr>
<?php
foreach ($ret as $r) {
    
?>
    <tr>
        <td><?php echo $r['login']?></td>
        <td><?php echo $r['title']?></td>
        <td><?php echo $r['text']?></td>
    </tr>
<?php
}
?>
</table>
<br><?php
if ($_SESSION['login'] != '') {
    if (
$_POST) {
        
$title mysql_escape_string($_POST['title']);
        
$text mysql_escape_string($_POST['text']);
        
$login $_SESSION['login'];
        
$date date("d = F = Y ");
        
        
$error false;
        
$errortext '<p>Подожди!</p><ul>';
        
        if (empty(
$title)) {
            
$error true;
            
$errortext .= '<li>А заголовок?</li>';
        }
        
        if (empty(
$text)) {
            
$error true;
            
$errortext .= '<li>А где текст-то?</li>';
        }
        
        
//$errortext .='</ul>';   

        
if ($error) {
            echo (
$errortext);
        } else {
            
$sql mysql_query("INSERT INTO `forum` (`login`,`title`,`text`,`date`) VALUES('$login', '$title', '$text', '$date')");
            if (
$sql) {
                echo (
'<p>Новость добавлена.</p>');
            } else {
                echo (
'<p>Новость не добавлена.</p>');
            }
            
mysql_close($dbconnect);
        }
    }
    
?>  
          <form action="forum.php" method="post">Заголовок: <input
    type="text" name="title" width="400px" maxlength="200"><br>
Текст:<br>
<textarea name="text" rows="10" cols="70"></textarea><br>
<input type="submit" name="add" value="Написать"> <input type="reset"
    value="Очистить"></form>  
<?php
} else {
    
?>  
Вы не можете оставлять свои сообщения, пожалуйста войдите  
<form method="post" action="forum.php">
<center>
    Логин: <input type="text" name="login" value=""> 
    Пароль: <input type="password" name="password" value="">
<input type="submit" name="vhod" value="Вход">
</center>
</form>  
<?php
    
if (($_POST['login'] != '') & ($_POST['password'] != '')) {
        
$login mysql_escape_string($_POST['login']);
        
$password md5($_POST['password']);
        
$query "SELECT * FROM `users` WHERE login = '$login' AND password='$password' LIMIT 0 , 30";
        
$res mysql_query($query);
        if (
mysql_num_rows($res) == 1) {
            
$_SESSION['login'] = $_POST['login'];
        }
    }
    
?>  
или <a href="register.php">зарегистрируйтесь</a>  
<?php
}
?>  
</body>

</html>

Последний раз редактировалось graymaster; 15.05.2011 в 16:16. Причина: дополнение
graymaster вне форума Ответить с цитированием
Старый 15.05.2011, 16:04   #3
ilushka2306
Пользователь
 
Регистрация: 19.06.2010
Сообщений: 48
По умолчанию

Цитата:
Сообщение от graymaster Посмотреть сообщение
закавычьте правильно вот тут
PHP код:
$sql mysql_query("INSERT INTO 'forum' (login,title,text,date) VALUES('$login', '$title', '$text', '$date')"); 
вот так
PHP код:
$sql mysql_query("INSERT INTO `forum` (`login`,`title`,`text`,`date`) VALUES('$login', '$title', '$text', '$date')"); 
PS: А зачем мы так многократно и яростно соединяетесь и выбираете базу данных ?
Спасибо, работает)

а зачем так много... не знаю
ilushka2306 вне форума Ответить с цитированием
Старый 15.05.2011, 16:17   #4
ilushka2306
Пользователь
 
Регистрация: 19.06.2010
Сообщений: 48
По умолчанию

А как сделать чтоб сразу данные выводились сверху, в таблице???
ilushka2306 вне форума Ответить с цитированием
Старый 15.05.2011, 16:33   #5
graymaster
Форумчанин
 
Аватар для graymaster
 
Регистрация: 03.05.2011
Сообщений: 158
По умолчанию

Я в пэпээс-е ответил, там в коде я поправил уже эту часть. Только не знаю, будет ли работать - не запускал.
graymaster вне форума Ответить с цитированием
Старый 15.05.2011, 21:15   #6
ilushka2306
Пользователь
 
Регистрация: 19.06.2010
Сообщений: 48
По умолчанию

Цитата:
Сообщение от graymaster Посмотреть сообщение
Я в пэпээс-е ответил, там в коде я поправил уже эту часть. Только не знаю, будет ли работать - не запускал.
выводит, но во всех столбцах одинаковые значения...
ilushka2306 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запись CD n_mitrofanow Win Api 11 20.04.2012 19:27
Запись CD buenosaire Помощь студентам 2 08.05.2010 21:31
Запись в БД Vitaliy3009 БД в Delphi 6 09.10.2009 14:43
запись CD chekanoff Общие вопросы Delphi 2 10.04.2008 00:04