ФорумПрограммированиеPHP для идиотов → как лучше сделать?

как лучше сделать?

  • romawka_ural

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

    Spritz 16 мая 2010 г. 3:57


    $once = require_once '../_sql.inc';
    function session_($string,$bip){
    include $once;
    echo $once;
    mysql_select_db("$bd",$query)OR DIE(mysql_error());
    $zapros=("SELECT * FROM `$tbus` WHERE log='".mysql_real_escape_string($string)."' AND pass='".mysql_real_escape_string($bip)."'");
    $goo=mysql_query($zapros)OR DIE (mysql_error());
    if($goo){
    if($re=mysql_fetch_array($goo)){
    return TRUE;
    }else{
    return FALSE;
    }
    }
    }//проверка сессии
    function razdel_($very){
    include $once;

    mysql_select_db("$bd",$query)OR DIE(mysql_error());
    $id=("SELECT * FROM `$tbus` WHERE log='".mysql_real_escape_string($very)."'");
    $us=mysql_query($id) OR DIE (mysql_error());

    if($re=mysql_fetch_array($us)){
    return true;
    }else{
    return false;
    }
    }

    Вопрос в том возможно ли как то сделать по другому и не подключать несколько раз один и тот же файл? прото я начинающий..
    Спустя 40 сек.


    $once = require_once '../_sql.inc';
    function session_($string,$bip){
    include $once;

    mysql_select_db("$bd",$query)OR DIE(mysql_error());
    $zapros=("SELECT * FROM `$tbus` WHERE log='".mysql_real_escape_string($string)."' AND pass='".mysql_real_escape_string($bip)."'");
    $goo=mysql_query($zapros)OR DIE (mysql_error());
    if($goo){
    if($re=mysql_fetch_array($goo)){
    return TRUE;
    }else{
    return FALSE;
    }
    }
    }//проверка сессии
    function razdel_($very){
    include $once;

    mysql_select_db("$bd",$query)OR DIE(mysql_error());
    $id=("SELECT * FROM `$tbus` WHERE log='".mysql_real_escape_string($very)."'");
    $us=mysql_query($id) OR DIE (mysql_error());

    if($re=mysql_fetch_array($us)){
    return true;
    }else{
    return false;
    }
    }

    Вопрос в том возможно ли как то сделать по другому и не подключать несколько раз один и тот же файл? прото я начинающий..
    Спустя 87 сек.
    извиняюсь за повтор..как тут можно отредактировать?
  • artoodetoo

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

    Spritz 16 мая 2010 г. 4:18, спустя 20 минут 45 секунд

    чушь :)
    просто удали строчки с include - ничего не изменится
    ιιlllιlllι унц-унц
  • romawka_ural

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

    Spritz 16 мая 2010 г. 5:40, спустя 1 час 22 минуты 13 секунд

    но переменные будут недоступны для функций…сделал так…=( больше метода не знаю
    function session_($string,$bip){
    include '../_sql.inc';
    mysql_select_db("$bd",$query)OR DIE(mysql_error());
    $zapros=("SELECT * FROM `$tbus` WHERE log='".mysql_real_escape_string($string)."' AND pass='".mysql_real_escape_string($bip)."'");
    $goo=mysql_query($zapros)OR DIE (mysql_error());
    if($goo){
    if($re=mysql_fetch_array($goo)){
    return TRUE;
    }else{
    return FALSE;
    }
    }
    }//проверка сессии
    function razdel_($very){
    include '../_sql.inc';
    mysql_select_db("$bd",$query)OR DIE(mysql_error());
    $id=("SELECT * FROM `$tbus` WHERE log='".mysql_real_escape_string($very)."'");
    $us=mysql_query($id) OR DIE (mysql_error());

    if($re=mysql_fetch_array($us)){
    return true;
    }else{
    return false;
    }
    }
  • VaseninM

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

    Spritz 16 мая 2010 г. 5:52, спустя 11 минут 46 секунд

    romawka_ural, global
  • romawka_ural

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

    Spritz 16 мая 2010 г. 5:57, спустя 5 минут 4 секунды


    romawka_ural, global
    а можно короткий пример?
  • VaseninM

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

    Spritz 16 мая 2010 г. 6:26, спустя 29 минут 18 секунд

    conf.php:
    <?
    $user = "Ромашка с Урала";

    index.php
    <?
    include "conf.php";
    function hi() {
    global $user;
    echo "Привет, " . $user;
    }
    hi(); // Привет, Ромашка с Урала
  • Givi

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

    Spritz 16 мая 2010 г. 6:32, спустя 5 минут 58 секунд

    romawka_ural, не слушай Спартакуса, он нагло врет =)))
    Вообще если делаешь говнисто, то делай как хочешь, но вот вместо постоянных инклудов делай один раз инклуд нужного файла а после этого просто передавай в функции нужные тебе переменные как аргументы.

    п.с. Обе функции у тебя ГОВНО. ибо возращают не данные, а только "тру" или "фальс", что по сути нах не нужно в данной ситуации.
  • VaseninM

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

    Spritz 16 мая 2010 г. 7:49, спустя 1 час 17 минут 10 секунд

    Givi, а че я вру то?
  • Ewg777

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

    Spritz 16 мая 2010 г. 7:55, спустя 5 минут 17 секунд

    SpartakuS, да. Всё чушь
  • Givi

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

    Spritz 16 мая 2010 г. 8:18, спустя 23 минуты 2 секунды

    SpartakuS, да шутю я ;)
    Просто плохому учишь. Глобал в данном месте нах не нужен, потому Евг777 правильно сказал - чушь.
  • VaseninM

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

    Spritz 16 мая 2010 г. 9:34, спустя 1 час 15 минут 59 секунд

    Ewg777, да то, что глоба говно - не спорю. Хотя в общем то особо не понимаю почему именно это плоо не знаю.
    Givi, а что в его случае можно хорошего сказать? Передавать все нужные переменные через аргументы? Или ооп его учить?
  • Ewg777

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

    Spritz 16 мая 2010 г. 9:37, спустя 3 минуты 27 секунд

    Хотя в общем то особо не понимаю почему именно это плоо не знаю.
    Здесь написано, что не видите последствий от использования глобальных переменных?
  • Givi

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

    Spritz 16 мая 2010 г. 9:40, спустя 2 минуты 51 секунду

    SpartakuS, пусть передает через аргументы.
    А глобал плох тем, что подсунуть могут хрен пойми что :)
  • AlexB

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

    Spritz 16 мая 2010 г. 9:44, спустя 4 минуты 35 секунд

    глобал плох тем, что несмотря на теже самые переданные параметры поведение функции непрогнозируемо при вызовах в разных местах.
  • romawka_ural

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

    Spritz 16 мая 2010 г. 10:06, спустя 21 минуту 41 секунду


    romawka_ural, не слушай Спартакуса, он нагло врет =)))
    Вообще если делаешь говнисто, то делай как хочешь, но вот вместо постоянных инклудов делай один раз инклуд нужного файла а после этого просто передавай в функции нужные тебе переменные как аргументы.

    п.с. Обе функции у тебя ГОВНО. ибо возращают не данные, а только "тру" или "фальс", что по сути нах не нужно в данной ситуации.

    почему?
    а так…я просто примерно показал что хочу получить..подключение include два раза это плохо =( ..читаю сижу =))…
    сделал пока на include так
    function razdel_($very){
    include '../_sql.inc';
    mysql_select_db("$bd",$query)OR DIE(mysql_error());
    $id=("SELECT * FROM `$tbus` WHERE log='".mysql_real_escape_string($very)."'");
    $us=mysql_query($id) OR DIE (mysql_error());

    if($re=mysql_fetch_array($us)){
    $id_=$re['id'];
    $cat_id=("SELECT * FROM `$tbcat` WHERE us_id='".mysql_real_escape_string($id_)."'");
    $cat_id=mysql_query($cat_id)or die (mysql_error());
    if($cat=mysql_fetch_array($cat_id)){
    $cat_id_=$cat['us_id'];
    if($cat_id_==1){

    $content=("SELECT * FROM `$tbraz` WHERE cat_us='".mysql_real_escape_string($id_)."'");
    $con_id=mysql_query($content)or die (mysql_error());
    if($con_id){
    $result=array();
    while($qw=mysql_fetch_array($con_id)){
    #$A['ID']=array("title"=>$qw['name'],"prava"=>$qw['cat_us']);
    $result['title']=$qw['name'];
    $result['prava']=$qw['cat_us'];
    return $result;
    }

    }
    }elseif($cat_id_==2){
    return 0;

    }elseif($cat_id_==3){
    return 0;

    }else{
    return 0;
    }
    }else{
    echo "возникла ошибка..";
    }

    }else{
    return false;
    }
    }
    Спустя 95 сек.
    если говно то покажи как надо ;) ..просто мне надо…проверить сессию…потом вывести те разделы которые предоставляются по праву..данному логину…вот сижу пробую…

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