Этот сайт не наркоманов. Это сайт программистов. Здесь курят мануал.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха переехала на новый сервер, ура!

Краснодарское время: 25 Май, 2012, 04:58:33

Страниц: [1] 2
Печать
Автор Тема: Вывод значений возврата функции на страницу.  (Прочитано 453 раз)
0 Пользователей и 1 Гость смотрят эту тему.
.snif    ↓ 
18 Октябрь, 2010, 10:53:25
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 19
Сила слова: 0

По поводу названия темы прошу сильно не пинать, но суть такова - есть код:
index.php:
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

<?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 коде это выглядит так:
HTML

123<script>alert('Ваш комментарий успешно добавлен.')</script><html>
<head>
<title></title>
[...]
 
как я понимаю это выводится информация которою в свою очередь возвращает одна из функций, помогите решить эту проблему. Заранее признатеден.
Записан
NRG    ↓ 
18 Октябрь, 2010, 11:02:59 , спустя 9 минут 34 секунды
НЕ ХУЕТА! ХУЕТА!

Headshot!MultiKill!
Группа: Санитары

Карма: 777
Сообщений: 4700
Сила слова: 16.81

После успешного выполнения запроса в бд (добавления комментария) и вывода сообщения о том, что коментарий дабавлен в верхнем левом углу страницы появляются цыфорки 123
как я понимаю это выводится информация которою в свою очередь возвращает одна из функций
неправильно ты понимаешь.
сделай поиск по строке 'echo "123";'
Спустя 1 минуту 13 секунд добавил
дам подсказку, 24-я строка
 
и будь повнимательнее
Записан

Буратино дрочил, дрочил и сгорел
Java и JavaScript это абсолютно разные вещи !!!
Господа, вы хуйня.
девушки краснели, отворачивались но порнуху продолжали смотреть
.snif    ↓ 
18 Октябрь, 2010, 11:06:53 , спустя 3 минуты 54 секунды
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 19
Сила слова: 0


После успешного выполнения запроса в бд (добавления комментария) и вывода сообщения о том, что коментарий дабавлен в верхнем левом углу страницы появляются цыфорки 123
как я понимаю это выводится информация которою в свою очередь возвращает одна из функций
неправильно ты понимаешь.
сделай поиск по строке 'echo "123";'
Спустя 1 минуту 13 секунд добавил
дам подсказку, 24-я строка
 
и будь повнимательнее
спасибо большое! вводил в поиске в geany 123, на удивление ничего не нашло. Это я когда тестировал прописывал это, а удалить забыл. Ещё раз большое спасибо.
Записан
mario    ↓ 
18 Октябрь, 2010, 11:19:07 , спустя 12 минут 14 секунд
НЕ ХУЕТА! ХУЕТА!

wazzup
Группа: Джедаи

Карма: 67
Сообщений: 6162
Сила слова: 1.09

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

с ув. mario.
Контакты
NRG    ↓ 
18 Октябрь, 2010, 11:32:00 , спустя 12 минут 53 секунды
НЕ ХУЕТА! ХУЕТА!

Headshot!MultiKill!
Группа: Санитары

Карма: 777
Сообщений: 4700
Сила слова: 16.81


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

Буратино дрочил, дрочил и сгорел
Java и JavaScript это абсолютно разные вещи !!!
Господа, вы хуйня.
девушки краснели, отворачивались но порнуху продолжали смотреть
Givi    ↓ 
18 Октябрь, 2010, 11:37:22 , спустя 5 минут 22 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 42
Сообщений: 2305
Сила слова: 1.82

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

Все, что говорят другие - неправда! До тех пор, пока ты сам в это не поверишь.
Если человек дурак, то... чур это не я!
mario    ↓ 
18 Октябрь, 2010, 11:41:55 , спустя 4 минуты 33 секунды
НЕ ХУЕТА! ХУЕТА!

wazzup
Группа: Джедаи

Карма: 67
Сообщений: 6162
Сила слова: 1.09

я ????))))
я просто нажал кнтрл+F  =))))
не тебе :) а ТСу...
Givi, NRG, хоть удалить ифы, еще и форматирование применить... все равно по мне жутко не читаемо получается... :)
Записан

с ув. mario.
Контакты
arvitaly    ↓ 
19 Октябрь, 2010, 09:19:10 , спустя 9 часов 37 минут 15 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 5
Сообщений: 282
Сила слова: 1.77

try catch тащит!
Записан

Givi    ↓ 
19 Октябрь, 2010, 10:19:56 , спустя 1 час 46 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 42
Сообщений: 2305
Сила слова: 1.82

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

Все, что говорят другие - неправда! До тех пор, пока ты сам в это не поверишь.
Если человек дурак, то... чур это не я!
.snif    ↓ 
19 Октябрь, 2010, 05:16:40 , спустя 6 часов 56 минут 44 секунды
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 19
Сила слова: 0

мама родная, как ты разбираешься в этот коде... :(
как-то)
Записан
SpartakuS    ↓ 
19 Октябрь, 2010, 09:21:09 , спустя 4 часа 4 минуты 29 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 32
Сообщений: 2444
Сила слова: 1.31

о ужас.
Записан


цска ебаное гавно.
Dash    ↓ 
20 Октябрь, 2010, 10:22:07 , спустя 13 часов 58 секунд
НЕ ХУЕТА! ХУЕТА!

Карма: 0
Сообщений: 9
Сила слова: 0

Мда. ТС утонет в этой пленке при первой же переделке. Мксимаьлно упрощай код, хотя бы вот так чтоли:
 
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
 
/*Error codes for blocks via error status*/
$redirectParams = array(
    "name" => array(
        "1" => 4,
        "2" => 5,
        "3" => 6,
     ),
    "mail" => array(
        "1" => 7,
        "2" => 8,
        "3" => 9
    ),
    "comment"   => array(
        "1" => 10,
        "2" => 10,
        "3" => 11
    )
);
 
if (isset($go)) {
if (!empty($name) AND !empty($email) AND !empty($comment) AND !empty($code)) {
 
    $_name = check_name($name);
    if (isset($redirectParams["name"][$_name])) {
        @header("Location: blank.php?m=" . $_name);
    }
 
    $_email = check_mail($email);
    if (isset($redirectParams["name"][$_email])) {
        @header("Location: blank.php?m=" . $_email);
    }
 
    $_comment = check_comment($comment);
    if (isset($redirectParams["name"][$_comment])) {
        @header("Location: blank.php?m=" . $_comment);
    }
 
    //КАПЧА
    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>
 
Спустя 3 минуты 2 секунды добавил
Бля, тупанул.
Там перед header надо error code надо доставать предварительно из массива
PHP

@header("Location: blank.php?m=" . $redirectParams["name"][$_name]);
 
Спустя 1 минуту 38 секунд добавил
и ваще все это в отдельную функцию завернуть всю проверку и редирект
Записан
phpdude    ↓ 
20 Октябрь, 2010, 12:44:03 , спустя 2 часа 21 минуту 56 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 344
Сообщений: д-о-х-у-я!
Сила слова: 1.65

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

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

уроки оптимизации на пиха.ру
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
CTAPbIu_MABP    ↓ 
22 Октябрь, 2010, 06:57:00 , спустя 2 дня 6 часов 12 минут 57 секунд
НЕ ХУЕТА! ХУЕТА!

мавр
Группа: в ухо

Карма: не нужна
Сообщений: 5187
Сила слова: 1.81

индусятина отборная
Записан

java.lang.OutOfMemoryError
phpdude    ↓ 
22 Октябрь, 2010, 07:13:45 , спустя 16 минут 45 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 344
Сообщений: д-о-х-у-я!
Сила слова: 1.65

CTAPbIu_MABP, няшка, ты вернулся!
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Страниц: [1] 2
Печать
 

Перейти в:  

Этот топик скрыли: adw0rd, Sinkler, artoodetoo