ФорумПрограммированиеPHP для идиотов → Вывод значений возврата функции на страницу.

Вывод значений возврата функции на страницу.

  • .snif

    Сообщения: 19 Репутация: N Группа: Кто попало

    Spritz Окт. 18, 2010, 10:53 п.п.

    По поводу названия темы прошу сильно не пинать, но суть такова - есть код:
    index.php:
    <?php
    session_start();
    //Includes
    include("functions.php");
    include("dbconfig.php");
    include("settings.php");
    //MySQL connect
    connect($mysql['host'], $mysql['user'], $mysql['pass'], $mysql['db']);
    //Variables
    $max_comment_sibmol = 300;
    $go = $_POST['go'];
    $name = mysql_escape_string($_POST['name']);
    $email = mysql_escape_string($_POST['email']);
    $comment = mysql_escape_string($_POST['comment']);
    $code = $_POST['code'];
    $date = date("d.m.y");
    $ip = $_SERVER['REMOTE_ADDR'];
    $user_agent = $_SERVER['HTTP_USER_AGENT'];
    $add_query = "INSERT INTO `comments` (name, email, comment, ip, date, user_agent) VALUES ('$name', '$email', '$comment', '$ip', '$date', '$user_agent');";
    $print_query = "SELECT * FROM `comments`";
    //Check input info
    if (isset($go)) {
    if (!empty($name) AND !empty($email) AND !empty($comment) AND !empty($code)) {
    echo "123";
    if (check_name($name) == 1) {
    @header("Location: blank.php?m=4");
    }
    else
    {
    if (check_name($name) == 2) {
    @header("Location: blank.php?m=5");
    }
    else
    {
    if (check_name($name) == 3) {
    @header("Location: blank.php?m=6");
    }
    else
    {
    if (check_mail($email) == 1) {
    @header("Location: blank.php?m=7");
    }
    else
    {
    if (check_mail($email) == 2) {
    @header("Location: blank.php?m=8");
    }
    else
    {
    if (check_mail($email) == 3) {
    @header("Location: blank.php?m=9");
    }
    else
    {
    if (check_comment($comment) == 1) {
    @header("Location: blank.php?m=10");
    }
    else
    {
    if (check_comment($comment) == 2) {
    @header("Location: blank.php?m=10");
    }
    else
    {
    if (check_comment($comment) == 3) {
    @header("Location: blank.php?m=11");
    }
    else
    {
    //КАПЧА
    if (query($add_query) !== 1) {
    echo "<script>alert('Ваш комментарий успешно добавлен.')</script>";
    } else {
    @header("Location: blank.php?m=12");
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    else
    {
    header("Location: blank.php?m=3");
    }
    }
    ?>
    <html>
    <head>
    <title><? echo $title; ?></title>
    </head>
    <body>
    <form action="" method="POST" name="addcomment">
    <table align="center">
    <tr>
    <td><label><b>Имя</b></label><br />
    <input type="text" name="name" size="20"></td>
    </tr>
    <tr>
    <td><label><b>E-mail</b></label><br />
    <input type="text" name="email" size="20"></td>
    </tr>
    <tr>
    <td><label><b>Комментарий</b></label><br />
    <textarea name="comment"></textarea>
    </td>
    <tr>
    <td><img src=""><br /></td>
    </tr>
    <tr>
    <td><label><b>Код безопасности</b></label><br />
    <input type="text" name="code" size="10"></td>
    </tr>
    <tr>
    <td><input type="submit" name="go" value="Отправить"></td>
    </tr>
    </table>
    </form>
    <hr >
    <table align="center">
    <?
    $sql = query($print_query);
    if ($sql !== 1) {
    while ($row = @mysql_fetch_array($sql)) {
    echo "<tr><td><b><a href=index.php?c=".$row['0'].">#".$row['0']."</a></b>&nbsp;<a href=mailto:".$row['2'].">".$row['1']."</a>&nbsp;".$row['5']."</td></tr>";
    echo "<tr><td>".$row['3']."</td></tr>";
    }
    }
    else
    {
    echo "<center><h1><b>На данный момент существует проблема с выполнением запросов в базу дынных, попробуйте обновить страницу.</b></h1></center>";
    }
    ?>
    </table>
    </body>
    </html>

    functions.php:

    <?php
    //MySQL connect
    function connect ($host, $user, $pass, $db) {
    $link_connect = @mysql_connect($host, $user, $pass);
    $link_select = @mysql_select_db($db, $link_connect);
    if (!$link_connect) {
    @header("Location: blank.php?m=1");
    }
    else
    {
    if (!$link_select) {
    @header("Location: blank.php?m=2");
    }
    }
    }
    //MySQL query
    function query ($query) {
    $link_query = mysql_query($query);
    if (!$link_query) {
    return 1;
    }
    else
    {
    return $link_query;
    }
    }
    //Check mail
    function check_mail ($email) {
    if (strlen($email)<0) {
    return 1;
    }
    else
    {
    if (strlen($email)>255) {
    return 2;
    }
    else
    {
    if (!preg_match("/^[a-z0-9_-]{1,20}+(\.){0,2}+([a-z
    0-9_-]){0,5}@(([a-z0-9-]+\.)+(com|net|org|mil|".
    "edu|gov|arpa|info|biz|at|ua|ru|mobi|vn|kz|inc|name|
    [a-z]{2})|[0-9]{1,3}\.[0-9]{1,3}\.[0-".
    "9]{1,3}\.[0-9]{1,3})$/is", $email)) {
    return 3;
    }
    else
    {
    return $email;
    }
    }
    }
    }
    //Check name
    function check_name ($name) {
    if (strlen($name)<0) {
    return 1;
    }
    else
    {
    if (strlen($name)>255) {
    return 2;
    } else {
    if (!preg_match("/\w+/", $name)) {
    return 3;
    }
    else
    {
    return $name;
    }

    }
    }
    }
    //Check comment
    function check_comment ($comment) {
    if (strlen($comment)<0) {
    return 1;
    }
    else
    {
    if (strlen($comment)>255) {
    return 2;
    }
    else
    {
    if (!preg_match('/<(.*)>/', $comment)) {
    return $comment;
    }
    else
    {
    return 3;
    }
    }
    }
    }
    ?>

    После успешного выполнения запроса в бд (добавления комментария) и вывода сообщения о том, что коментарий дабавлен в верхнем левом углу страницы появляются цыфорки 123, в html коде это выглядит так:

    123<script>alert('Ваш комментарий успешно добавлен.')</script><html>
    <head>
    <title></title>
    […]

    как я понимаю это выводится информация которою в свою очередь возвращает одна из функций, помогите решить эту проблему. Заранее признатеден.
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz Окт. 18, 2010, 11:02 п.п., спустя 9 минут 34 секунды

    После успешного выполнения запроса в бд (добавления комментария) и вывода сообщения о том, что коментарий дабавлен в верхнем левом углу страницы появляются цыфорки 123
    как я понимаю это выводится информация которою в свою очередь возвращает одна из функций

    неправильно ты понимаешь.
    сделай поиск по строке 'echo "123";'
    Спустя 73 сек.
    дам подсказку, 24-я строка

    и будь повнимательнее
  • .snif

    Сообщения: 19 Репутация: N Группа: Кто попало

    Spritz Окт. 18, 2010, 11:06 п.п., спустя 3 минуты 54 секунды


    После успешного выполнения запроса в бд (добавления комментария) и вывода сообщения о том, что коментарий дабавлен в верхнем левом углу страницы появляются цыфорки 123
    как я понимаю это выводится информация которою в свою очередь возвращает одна из функций

    неправильно ты понимаешь.
    сделай поиск по строке 'echo "123";'
    Спустя 73 сек.
    дам подсказку, 24-я строка

    и будь повнимательнее

    спасибо большое! вводил в поиске в geany 123, на удивление ничего не нашло. Это я когда тестировал прописывал это, а удалить забыл. Ещё раз большое спасибо.
  • mario

    Сообщения: 6067 Репутация: N Группа: Джедаи

    Spritz Окт. 18, 2010, 11:19 п.п., спустя 12 минут 14 секунд

    мама родная, как ты разбираешься в этот коде… :(
    Спустя 73 сек.
    ну как минимум, что бы повысить читаемость. можно сделать через свитч.
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz Окт. 18, 2010, 11:32 п.п., спустя 12 минут 53 секунды


    мама родная, как ты разбираешься в этот коде… :(
    я ????))))
    я просто нажал кнтрл+F =))))
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz Окт. 18, 2010, 11:37 п.п., спустя 5 минут 22 секунды

    mario, да там даже с ифами можно, только без илс, ибо один куй если иф не сработает, то редирект пойдем и віполнение скрипта дальше не будет (конечно, нужно ещё екзит добавить)
  • mario

    Сообщения: 6067 Репутация: N Группа: Джедаи

    Spritz Окт. 18, 2010, 11:41 п.п., спустя 4 минуты 33 секунды

    я ????))))
    я просто нажал кнтрл+F =))))

    не тебе :) а ТСу…
    Givi, NRG, хоть удалить ифы, еще и форматирование применить… все равно по мне жутко не читаемо получается… :)
  • arvitaly

    Сообщения: 292 Репутация: N Группа: Адекваты

    Spritz Окт. 19, 2010, 9:19 д.п., спустя 9 часов 37 минут 15 секунд

    try catch тащит!
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz Окт. 19, 2010, 10:19 д.п., спустя 1 час 46 секунд

    mario, думаю получится примерно то же, что и со свичем визуально. Но это не суть, главное что в целом построение логики у автора очень страдает, и при этом просит хотя бы половину всего заменить :)
  • .snif

    Сообщения: 19 Репутация: N Группа: Кто попало

    Spritz Окт. 19, 2010, 5:16 п.п., спустя 6 часов 56 минут 44 секунды

    мама родная, как ты разбираешься в этот коде… :(

    как-то)
  • VaseninM

    Сообщения: 2416 Репутация: N Группа: Адекваты

    Spritz Окт. 19, 2010, 9:21 п.п., спустя 4 часа 4 минуты 29 секунд

    о ужас.
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz Окт. 20, 2010, 12:44 п.п., спустя 15 часов 22 минуты 54 секунды

    Мксимаьлно упрощай код, хотя бы вот так чтоли:


    <?
    /* а дальше говнокод


    уроки оптимизации на пиха.ру
    Сапожник без сапог
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz Окт. 22, 2010, 6:57 п.п., спустя 2 дня 6 часов 12 минут

    индусятина отборная
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz Окт. 22, 2010, 7:13 п.п., спустя 16 минут 45 секунд

    CTAPbIu_MABP, няшка, ты вернулся!
    Сапожник без сапог
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz Окт. 22, 2010, 7:17 п.п., спустя 3 минуты 33 секунды

    да я переодически прибегаю когото обосрать

Пожалуйста, авторизуйтесь, чтобы написать комментарий!