За последние 24 часа нас посетили 71375 программистов и 10288 роботов. Сейчас ищут 3245 программистов ...

Помогите сделать книгу отзывов пожалуйтса :-(

Тема в разделе "PHP для новичков", создана пользователем ANtlord, 21 авг 2008.

  1. ANtlord

    ANtlord Активный пользователь

    С нами с:
    21 авг 2008
    Сообщения:
    20
    Симпатии:
    0
    все заработало только почемуто время все время одно и тоже и притом старое, да к тому же кроме времени ничего не появляется, а мне надо чтоб еще и сообщение. А да к тому же комментарий добавляется при каждом обновлении.
    вот код:
    PHP:
    1. <html>
    2. <head>
    3. <title> Тест </title>
    4. </head>
    5. <body>
    6.  <?
    7.  $dblocation="localhost";
    8.  $dbname= "test";
    9.  $dbuser="root";
    10.  $dbpasswd="";  //мой пароль
    11.  $dbcnx= @mysql_connect ($dblocation,$dbuser,$dbpasswd);
    12.  if (!dbcnx)
    13.  {
    14.  exit("сервер недоступен");
    15.  }
    16.   if (!@mysql_select_db($dbname, $dbcnx))
    17.  {
    18.  exit(" база недоступна");
    19.  }
    20.  ?>
    21. <form action="index.php" method="POST">
    22.  <table cellpadding=0 cellspacing=0 border=0>
    23.   <tr>
    24.    <td>
    25.     <input type="text" name="massage">
    26.    </td>
    27.   </tr>
    28.   <tr>
    29.    <td>
    30.    <input type=submit name="go" value="отправить">
    31.    </td>
    32.   </tr>
    33.  </table>
    34. </form>
    35. <?
    36. if (!isset($_POST['go'])) {echo ("Не отправлено");}
    37. else  {
    38.       echo $_POST['massage'];
    39.      
    40. }
    41. ?>
    42. <br>
    43. <?
    44.  //добавление комментария:
    45.  
    46.    $_POST['pid'] = abs((int)$_POST['pid']); //ид товара
    47.    $_POST['text'] = mysql_escape_string($_POST['text']); //текст комментария
    48.       INSERT INTO `comments` (`pid`, `text`, `time`)
    49.       VALUES ("'.$_POST['pid'].'", "'.$_POST['text'].'", "'.time().'")');
    50.  
    51. ?>
    52.  
    53. <?
    54.  //вывод комментариев:
    55.    $_GET['pid'] = abs((int)$_GET['pid']); //ид товара
    56.    $sql = mysql_query('SELECT `text`, `time` FROM `comments` WHERE `pid` = "'.$_GET['pid'].'" ORDER BY `time` DESC');
    57.    $res = '';
    58.    while ($q = mysql_fetch_assoc($sql)) {
    59.        $res .= date('Y-m-d H:i:s', $q['time']) . '<br />';
    60.        $res .= htmlspecialchars($q['text']) . '<br /><br />';
    61.    }
    62.    echo $res;
    63.  ?>
    64.  
    65. </body>
    66. </html>
     
  2. ANtlord

    ANtlord Активный пользователь

    С нами с:
    21 авг 2008
    Сообщения:
    20
    Симпатии:
    0
    Народ, пожалуйтса помогите срочно надо :-(
     
  3. SLV

    SLV Активный пользователь

    С нами с:
    11 авг 2008
    Сообщения:
    51
    Симпатии:
    0
    Чтобы при обновлении страницы не происходило повторного добавления камента в самом начале скрипта напиши:

    if(isset($_POST['message'])) header('Location: http://домен.ру/index.php');
    и вместо <input type="text"> для сообщений лучше <textarea></textarea>
     
  4. SLV

    SLV Активный пользователь

    С нами с:
    11 авг 2008
    Сообщения:
    51
    Симпатии:
    0
    и вот еще ошибка: у тебя поле ввода называется 'massage' а в скрипте $_POST['text'] оттого сообщения и не сохраняются, исправь 'масаж' на 'text'.
     
  5. ANtlord

    ANtlord Активный пользователь

    С нами с:
    21 авг 2008
    Сообщения:
    20
    Симпатии:
    0
    Спасибо сообщения заработали, но по прежнему к сожелению время не изменяется, и сообщение добавляется ппри каждом обновлении все равно
     
  6. ANtlord

    ANtlord Активный пользователь

    С нами с:
    21 авг 2008
    Сообщения:
    20
    Симпатии:
    0
    Мне помогут или нет кстати решил добавить поля ввода почему у меня плюс к тому, что время не изменяется, и сообщение добавляется при каждом обновлении, у меня в добавок почему текст остальных форм не переноситься а снова на той же строке появляется
     
  7. ANtlord

    ANtlord Активный пользователь

    С нами с:
    21 авг 2008
    Сообщения:
    20
    Симпатии:
    0
    вот код:
    PHP:
    1.  
    2. <html>
    3. <head>
    4. <title> Тест </title>
    5. </head>
    6. <body>
    7. <?
    8.  $dblocation="localhost";
    9.  $dbname= "test";
    10.  $dbuser="root";
    11.  $dbpasswd="";  //мой пароль
    12.  $dbcnx= @mysql_connect ($dblocation,$dbuser,$dbpasswd);
    13.  if (!dbcnx)
    14.  {
    15.  exit("сервер недоступен");
    16.  }
    17.   if (!@mysql_select_db($dbname, $dbcnx))
    18.  {
    19.  exit(" база недоступна");
    20.  }
    21. ?>
    22. <form action="index.php" method="POST">
    23.  <table cellpadding=0 cellspacing=0 border=0>
    24.   <tr>
    25.    <td>
    26.     <p>Имя (обязательно)</p>
    27.     <input type="text" name="name">
    28.    </td>
    29.   </tr>
    30.   <tr>
    31.   <tr>
    32.    <td>
    33.     <p>E-mail (обязательно)</p>
    34.     <input type="text" name="e-mail">
    35.    </td>
    36.   </tr>
    37.   <tr>
    38.    <td>
    39.     <p>Ваш комментарий</p>
    40.    <textarea cols="40" rows="10" name="text"></textarea>
    41.    <td>
    42.   </tr>
    43.   <tr>
    44.   <tr>
    45.    <td><br>
    46.    <input type=submit name="go" value="отправить">
    47.    </td>
    48.   </tr>
    49.  </table>
    50. </form>
    51. <?
    52. if (!isset($_POST['go'])) {echo ("Не отправлено");}
    53. else  {
    54.       echo $_POST['massage'];
    55.      
    56. }
    57. ?>
    58. <br>
    59. <?
    60.   //добавление комментария:
    61.  if(isset($_POST['message'])) header('Location: [url=http://forum/index.php']http://forum/index.php'[/url]);
    62.  
    63.    $_POST['pid'] = abs((int)$_POST['pid']); //ид товара
    64.    $_POST['text'] = mysql_escape_string($_POST['text']); //текст комментария
    65.    $_POST['name'] = mysql_escape_string($_POST['name']); //текст имени
    66.    $_POST['e-mail'] = mysql_escape_string($_POST['e-mail']); //текст мыла
    67.       INSERT INTO `comments` (`pid`, `text`, `time`)
    68.       VALUES ("'.$_POST['pid'].'", "'.$_POST['name'].'" "'.$_POST['e-mail'].'" "'.$_POST['text'].'", "'.time().'")');
    69.  
    70.  
    71.  //вывод комментариев:
    72.    $_GET['pid'] = abs((int)$_GET['pid']); //ид товара
    73.    $sql = mysql_query('SELECT `text`, `time` FROM `comments` WHERE `pid` = "'.$_GET['pid'].'" ORDER BY `time` DESC');
    74.    $res = '';
    75.    while ($q = mysql_fetch_assoc($sql)) {
    76.        $res .= date('Y-m-d H:i:s', $q['time']);
    77.        $res .= htmlspecialchars($q['name']) . '<br>';
    78.        $res .= htmlspecialchars($q['e-mail']) . '<br>';
    79.        $res .= htmlspecialchars($q['text']) . '<br><br>';
    80.    }
    81.    echo $res;
    82.    
    83.  ?>
    84. </body>
    85. </html>
    86.  
     
  8. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.432
    Симпатии:
    0
    Это к нам вопрос или к себе? :lol:

    Нам тоже много чего срочно надо. Мне денег срочно надо. И очень много. Ты хочешь, чтобы тебя это как-то касалось? :)

    Уже и подсказали и дали ссылки, и даже код привели. Сколько можно требовать?! Тут что, форум халявных разработчиков? Не можете сделать сами - закажите у кого-нибудь.
     
  9. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.094
    Симпатии:
    0
    Адрес:
    Барнаул
    ANtlord
    1. После header'а с Location'ом надо писать exit.
    2. Раз уж у тебя заголовки посылаются в середине скрипта, добавь в начало <?php ob_start(); ?>
     
  10. ANtlord

    ANtlord Активный пользователь

    С нами с:
    21 авг 2008
    Сообщения:
    20
    Симпатии:
    0
    Хорошо наверно я слишком оборзел, прошу прощения :-(
    Спасибо за помощь (искренне)