Изпадане в безкраен цикъл?

reletobg

Registered
Здравейте!
Имам един клас за обработка на текстово форма и когато го сложа целият сайт ми изпада в безкраен цикъл.В смисъл преповтаря се отново и отново докато не ми забие браузъра.От какво се получава това?
 
Нямам никакви цикли в кода.Само проверявам за правилно въведени данни и ги пращам към друга функция за вкарване в БД.
 
ами ако тази друга функция дава грешка и те връща към първата, която от своя страна пак те праща към втората, а за втората вече казах в началото? Защо не постнеш кода?
 
На боб не съм много добър, но ако дадеш php може и да получим видение.
 
Ето го кода.
Малко е дълъг...


form_msg.php
PHP:
function process_mass()
    {
        include 'massages.php';
        include_once './model/model.php';
        include_once 'islogin.php';

        $get=new massages1();
        $ids=new is_login();
        $insert=new massages_conn();

        $to=$get->to;;
        $title=$get->title;
        $message=$get->message;

        $from=$ids->Get_user_from_ID();
        $to=$ids->Get_user_to_ID($to);
        $add=$insert->insert_msg($title, $message, $from, $to);
    }

islogin.php
PHP:
function islogin()
   {
    if(isset($_COOKIE['access']))
    {
        require_once 'function.php';
        require_once './model/dbconn.php';
        $nick=filter($_COOKIE['access']);
        $conn= new valid_name;
        $conn=$conn->ValidName($nick);
        $coin=mysql_num_rows($conn);
        if($coin ==1)
        {
            return true;
        }
        else
        {
            hack("Фалшива бисквитка", $ip);
        }
    }
   }
   function Get_user_from_ID()
   {
       if(islogin()===true)
       {
        require_once 'function.php';
        require_once './model/dbconn.php';
        $nick=filter($_COOKIE['access']);
        $conn= new valid_name;
        $conn=$conn->ValidName($nick);
        $coin=mysql_fetch_assoc($conn);
        return $coin['id'];
       }
   }
   function Get_user_to_ID($nick)
   {
      if(islogin()===true)
       {
        require_once 'function.php';
        require_once './model/dbconn.php';
        $nick=filter($nick);
        $conn= new valid_name;
        $conn=$conn->ValidName($nick);
        $coin=mysql_fetch_assoc($conn);
        return $coin['id'];
       }
   }


message.php
PHP:
<?php
class massages1
{
    var $error = array();
    var $to;
    var $title;
    var $message;

    function Get()
    {
        include './function.php';
        if(isset($_POST['to']))
        {
            if(preg_match("/^[a-zа-я0-9 ]+$/iu", $_POST['to']))
            {
                if(strlen($_POST['to'])>=3)
                {
                    if(strlen($_POST['to'])<=15)
                    {
                        $this->to=filter($_POST['to']);
                        
                    }
                    else
                    {
                        $this->error['to']="Голямо име за потребителя";
                    }
                }
                else
                {
                    $this->error['to']="Късо име за потребителя";
                }
            }
            else
            {
                $this->error['to']="Непозволени символи";
            }
        }
        else
        {
           $this->error['to']="Празно запитване";
        }

        if(isset($_POST['title']))
        {
            if(preg_match("/^[a-zа-я0-9 ]+$/iu", $_POST['title']))
            {
                if(strlen($_POST['title'])>=3)
                {
                    if(strlen($_POST['title'])<=50)
                    {
                        $this->titile=filter($_POST['title']);
                    }
                    else
                    {
                        $this->error['title']="Голямо1 име за потребителя";
                    }
                }
                else
                {
                    $this->error['title']="Късо1 име за потребителя";
                }
            }
            else
            {
                $this->error['title']="Непозволени1 символи";
            }
        }
        else
        {
            $this->error['title']="Празно1 запитване";
        }
    
        if(isset($_POST['message']))
        {
            if(preg_match("/^[a-zа-я0-9 ]+$/iu", $_POST['message']))
            {
                if(strlen($_POST['message'])>=3)
                {
                    if(strlen($_POST['message'])<=250)
                    {
                        $this->message=filter($_POST['message']);
                    }
                    else
                    {
                        $this->error['message']="Голямо2 име за потребителя";
                    }
                }
                else
                {
                    $this->error['message']="Късо2 име за потребителя";
                }
            }
            else
            {
                $this->error['message']="Непозволени2 символи";
            }
        }
        else
        {
            $this->error['message']="Празно2 запитване";
        }
    }
}
?>


model.php
PHP:
class massages_conn
{
    function insert_msg($title,$message,$from,$to)
    {
        $query="INSERT INTO `messages`(`title`,`message`,`from`,`to`,`created`) VALUES('$title','$message','$from','$to')";
        return $result=mysql_query($query);
    }
}
 
$this->titile=filter($_POST['title']);

Тука имаш грешка, вместо title си написал titile и за това може да ти спъва всичко.
И друго не е нужно на return да задаваш по този начин ресурс $result = mysql_query(); можеш и само mysql_query(), но ти предлагам да правиш проверка дали е минала заявката и да връщаш 0 или 1.


И другото, което забелязах. Виж си много добре заявката, ти задаваш 5 параметъра, в които искаш да вкараш данни, а при VALUES си подал само 4 и петия си го оставил просто така. Ако ще го оставяш сам да си добави стойност или не го слагай като параметър или при VALUES го задай като ''
 
Еми да има си грешки.Даже не са само това,но ги оправих и пак ми продължава с тоя цикъл.Не разбирам какво общо има php и html,че го кара целият сайт да се преповтаря?
 
PHP:
session_start();
require_once 'controller/islogin.php';
$islog= new is_login;
$in=$islog->islogin();
if(isset($_POST['submit']))
                                                        {
                                                            include_once 'controller/controller.php';
                                                            $msg=new massagess();
                                                            echo $msg->process_mass($in);
                                                        }
Другото съм го постнал.
 
Е, добре де, функцията process_mass() си написал, че е в един файл и също, че не приема никакви параметри, а в кода(над този ми пост) на process_mass() си му сложил $in. И как добавяш параметър, който функцията няма как да приеме ?

И също... включени ли са ти грешките, в смисъл включил ли си показването на грешките ?
 
Това после го добавих $in.Явно сам го забравил,но и с него пак все същата.
Ако искате ето файловете: http://dox.bg/files/dw?a=95850bfa8c
 
http://web-tourist.net/userfiles/3/3613.rar я виж така дали ще ти изкара нещо.

Сега видях друго, те функциите ти са много странно структурирани. Подаваш на променлива някаква информация от функция, а всъщност в самата функция нищо не връщаш и след това променливата я подаваш на друга функция и се мъчиш да ти върни нещо. Като цяло ти куца нещо логиката.
 
Ще взема да го направя наново.Сега още по бързо ми изпада в цикъл.Да сменя логиката както викаш ти,че и на мене ми е трудно да вървя от файл на файл.
 
Ами нали ти казвам. В никоя функция не връщаш нищо, а се мъчиш да подаваш някакви данни от тях.
 

Back
Горе