1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

Access forbidden! -фигня вылазиет=хелп!

Тема в разделе "Web Coding", создана пользователем Мо3Г, 1 окт 2007.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Мо3Г

    Мо3Г Постоялец

    Регистр.:
    16 июл 2007
    Сообщения:
    121
    Симпатии:
    19
    Люди подскажите вот скрипт гостевой книги(ну самый простой естественно)
    PHP:
    <html>
    <title>Гостевая книга</title>
    </head>
    <body>
    <h1>Наша гостевая книга</h1>
    <?php
    if ($_POST['flag']==1)
    {
      if(!
    $_POST['absender'])
       {
         echo
    "Пожалуйста введите имя";
       }
      if(!
    $_POST['betreff'])
       {
         echo
    "Пожалуйста введите данные о проффесии";
       }
      if (!
    $_POST['message'])
      {
        echo 
    "Введи сообщение";
      }
      if(
    $fehler)
      {
       
    $meldung="<h2><font color=red>".$fehler."</font></h2>";
       unset(
    $_POST['flag']);
      }
      else
      {
       
    $tabellenname="gastbuch";
       
    $sql="INSERT INTO $tabellenname(absender,betreff,message,datum)values('".$_POST['absender']."',
       '"
    .$_POST['betreff']."','".$_POST['message']."',now())";
       
    $link=mysql_connect("localhost","user","password");
       
    mysql_select_db("php_rusik",$link);
       
    mysql_query($sql,$link);
       
    $meldung="<h2>Ваши данные приняты к рассмотрению</h2><a href=\"www.wohinauchimmer.de/seite.php\">Далее</a>";
       }
       echo 
    $meldung;
       }
       if (!
    $_POST['flag'])
    {
    ?>
    <form action="<$php echo $_SERVER['PHP_SELF'];?>"method="post">
    <input type="hidden" name="flag" value="1">
    <p>Ваше имя:</br>
    <input type="text" name="absender" value="<?php echo $_POST['absender'];?>"></p>
    <p>Проффесия:</br>
    <input type="text" name="betreff" value="<?php echo $_POST['betreff'];?>"></p>
    <p>Комментарий:<br>
    <textarea name="message">
    <?php echo $_POST['message'];?>
    </textarea>
    </p>
    <input type="submit" value="Отправить">
    <form>
    <?php
    }
    ?>
    </body></html>
    Ну появляется формуляр, всё норм,а вот когда всё ввёл
    Появляется вот такая ерундистика:
    [​IMG]
    Ну а вот скрин с phpmyadmin(на всякий случай выложу:(
    [​IMG]
    В чём проблема не подскажите?:bc:
     
  2. Nafania

    Nafania

    Регистр.:
    24 мар 2007
    Сообщения:
    167
    Симпатии:
    46
    заменить это
    Код:
    <$php echo $_SERVER['PHP_SELF'];?>
    на
    Код:
    <?php echo $_SERVER['PHP_SELF'];?>


    Добавлено через 4 минуты
    К тому же не рекомендую использовать такие
    Код:
    $_POST['flag']==1
    !$_POST['absender']
    конструкции.
    Это одна большая дыра.
    В запросе к базе вообще ужас. Нельзя туда вставлять все, что приходит постом. А если вам постом ' (кавычка придет)?
    Хотя бы mysql_real_escape_string используйте, а лучше еще и заранее определите все переменные, например
    $flag = ( isset($_POST['flag']) ? intval($_POST['flag']) : 0 );
    $absender = ( isset($_POST['absender']) ? trim(htmlspecialchars($_POST['absender'])) : '' );
     
    Мо3Г нравится это.
  3. Мо3Г

    Мо3Г Постоялец

    Регистр.:
    16 июл 2007
    Сообщения:
    121
    Симпатии:
    19
    только вот я не понял что значит :0 и :"
    а функции тип isset,intval очищают от пробелов?А то я подзабыл)
     
  4. Nafania

    Nafania

    Регистр.:
    24 мар 2007
    Сообщения:
    167
    Симпатии:
    46
    Мо3Г нравится это.
  5. Мо3Г

    Мо3Г Постоялец

    Регистр.:
    16 июл 2007
    Сообщения:
    121
    Симпатии:
    19
Статус темы:
Закрыта.