[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    Зачем числовое значение в mysql_real_escape_string() ?

    Да и тут
    PHP:
    if ($answer ==1
    Откуда переменная $answer берет свое значение, которое сравнивается потом?

    register_globals = on ?
     
    #17361 LStr1ke, 13 Jan 2011
    Last edited: 13 Jan 2011
    1 person likes this.
  2. h00lyshit!

    h00lyshit! [From Nobody To Root]

    Joined:
    10 Sep 2009
    Messages:
    289
    Likes Received:
    290
    Reputations:
    195
    Eсли уж на то пошло, то (int)$_REQUEST['id'];
     
    2 people like this.
  3. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    TOP4 человеку требуется проинклудить файл на лету (без перезагрузки страницы). Вы сразу говорите, что это плохо, потому что "инклудить плохо". Я не исключаю, что ему может быть не требуется выполнение кода из этих файлов, но и не советую думать, что это не нужно.

    Redwood теоретически, лучше заносить все передаваемые в запросе переменные в кавычки и обрабатывать mysql_real_escape_string, чем думать о типе и внезапно ошибиться.
     
    _________________________
  4. qaz

    qaz Elder - Старейшина

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    Фараон, ваш код не сработал, ошибки нету, просто запись в БД не меняется.
    LStr1ke, носчот(Откуда переменная $answer берет свое значение, которое сравнивается потом?)


    форма отправки
    PHP:
    <form action "actioncreatezakaz.php" method "post">
    <
    td>
    ВВедите id юзера:
    <
    input type "text" name "id">
    </
    td>
    <
    td>
    присвоить значение ..выплачено..:
    <
    input type "radio" name "answer" value"1"
    </
    td>
    <
    td>
    присвоить значение ..отказано в выплате..
    <
    input type "radio" name "answer" value"2"
    </
    td>
    <
    td>
    <
    input type "submit" value "отправить">
    </
    form
     
    #17364 qaz, 13 Jan 2011
    Last edited: 13 Jan 2011
  5. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    qaz, если register_globals off, то не
    if($answer ==1)
    а
    if($_POST['answer'] === 1) {

    }
     
  6. qaz

    qaz Elder - Старейшина

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75

    серовно не пашет, теперь ещо и на странице обработки застреёт, я без понятия включен у меня register_globals или нет, я никогда етим не интерисовался и даже не знаб как узнать
     
  7. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    Отключить register_globals -
    В файле .htaccess
    Почитай на досуге: http://citforum.ru/internet/php/register_globals/

    Вообщем проверь с этим скриптом
    PHP:
    <?php
    if(isset($_POST['answer'])) { 
        
    // Параметр answer - определен
        
        // Проверяем параметр id
        
    isset($_POST['id']) ? $id mysql_real_escape_string($_POST['id']) : die("Параметр id не определен");  
        
    // Если определен назначаем переменную $id, если нет - выводим сообщение с ошибкой и прекращаем работу
        
        
    require_once("dbconnect.php"); // Инклудим файл бд
        
        
    switch($_POST['answer']) { // Переключаем (Сверяем) значения answer
            
    case 1// Если answer = 1
                
    $sql "UPDATE zakaz SET voplata = 'выплачено' WHERE id = '".$id."'"
                
    mysql_query($sql) or die(mysql_error()); // Выполняем запрос MySQL, если с ошибкой, то покажем ее и завершим работу
                
    header("Location: site.php");     
            break;
            case 
    2// Если answer = 2
                
    $sql "UPDATE zakaz SET voplata = 'отказано в выплате' WHERE id = '".$id."'"
                
    mysql_query($sql) or die(mysql_error());
                
    header("Location: createzakaz.php");
            break;
        }
    }else {
        
    //Параметр answer - НЕ определен
        
    die("Параметр answer не определен");
    }
    ?>
     
    #17367 LStr1ke, 13 Jan 2011
    Last edited: 13 Jan 2011
  8. TOP4

    TOP4 Banned

    Joined:
    19 Dec 2010
    Messages:
    23
    Likes Received:
    4
    Reputations:
    1
    Простите, но вы пишите интернет магазин не зная даже, что такое register_globals? Мой вам совет: "если чего-то не знаешь - гугли!" А то потом себе дороже выйдет..
     
  9. qaz

    qaz Elder - Старейшина

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75


    ничего не происходит, может запрос в БД надо както иначе записывать? например етот скрипт работает идеально
    PHP:
    <?php  
            
    include ("dbconnect.php");  
          

            
    $username=$_REQUEST['user_login'];  
            
    $kohel=$_REQUEST['user_kohel'];  
            
    $summa=$_REQUEST['user_summa'];  
          
          
              
         
              
    $sql="INSERT INTO zakaz(username, kohel, summa, voplata) VALUES ('$username', '$kohel', ' $summa','ожидает выплаты')";  
               
    $r=mysql_query ($sql);  
         
             
           
    header("Location: site.php");  
       
    ?>  
     
  10. necroleptick

    necroleptick Member

    Joined:
    3 Jan 2011
    Messages:
    105
    Likes Received:
    11
    Reputations:
    0

    $_REQUET вообще пора убрать, переменные не фильтруются у тебя
     
  11. [dword]

    [dword] Elder - Старейшина

    Joined:
    11 Apr 2007
    Messages:
    109
    Likes Received:
    74
    Reputations:
    40
    Подскажите как отправить данные на сервер методом POST ?

    Вот такую вещь нужно передать

    Code:
    auth=3539&user%5Fid=121&pf%5Fsig=1766&viewer%5Fid=121&method=post%5Froom
    В общем нужно передать переменные auth = 3539 userid =121 и т.д.

    сайт имеет патч site.ru/post.php, то есть от post.php отсылать :)
     
  12. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    [dword]curl, сокеты
     
  13. necroleptick

    necroleptick Member

    Joined:
    3 Jan 2011
    Messages:
    105
    Likes Received:
    11
    Reputations:
    0
    Может аякс или нужно отослать на другой сайт? Если на другой, то курл
     
  14. [dword]

    [dword] Elder - Старейшина

    Joined:
    11 Apr 2007
    Messages:
    109
    Likes Received:
    74
    Reputations:
    40
    да, нужно отослать на другой сайт. можно пожалуйста пример?
     
  15. Escos

    Escos New Member

    Joined:
    9 Jul 2009
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    пост miako
    http://forum.antichat.ru/thread252322.html
     
  16. AnGeI

    AnGeI Elder - Старейшина

    Joined:
    8 Dec 2008
    Messages:
    395
    Likes Received:
    79
    Reputations:
    16
    PHP:
    function str2bin($str$mode=0) {
       for(
    $a=0$a strlen($str); $a++) {
            
    $dec ord($str{$a});
            
    $bin=decbin($dec);
            
    /* Default-mode */
            
    if ( $mode == $out .= $bin;
           
    /* Human-mode (easy to read) */
            
    if ( $mode == $out .= $bin " ";
            
    /* Array-mode (easy to use) */
            
    if ( $mode == $out[$a] = $bin;}
        }
        return 
    $out;
    }

    echo (
    str2bin($_GET['str']));

    ?>
    Скрипт переводит строку в бинарное представление.
    Parse error: syntax error, unexpected T_FOR on line 3
     
    #17376 AnGeI, 13 Jan 2011
    Last edited: 13 Jan 2011
  17. qaz

    qaz Elder - Старейшина

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75


    ничего не происходит, может запрос в БД надо както иначе записывать? например етот скрипт работает идеально
    PHP:
    <?php  
            
    include ("dbconnect.php");  
          

            
    $username=$_REQUEST['user_login'];  
            
    $kohel=$_REQUEST['user_kohel'];  
            
    $summa=$_REQUEST['user_summa'];  
          
          
              
         
              
    $sql="INSERT INTO zakaz(username, kohel, summa, voplata) VALUES ('$username', '$kohel', ' $summa','ожидает выплаты')";  
               
    $r=mysql_query ($sql);  
         
             
           
    header("Location: site.php");  
       
    ?>  
     
  18. Reset82

    Reset82 New Member

    Joined:
    11 Jan 2011
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Ребята, может у кого есть имитатор загрузочной страницы одноклассников? Чтобы когда на ней вводится пароль он пересылался на определенную почту...
     
  19. Onkelz

    Onkelz New Member

    Joined:
    22 Sep 2010
    Messages:
    38
    Likes Received:
    2
    Reputations:
    -1
    Всмысле тебе фейк надо?
     
  20. Reset82

    Reset82 New Member

    Joined:
    11 Jan 2011
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    нужно чтобы был шаблон стартовой страницы, один в один с настоящей, чтобы ее зарегать временно на каком нить хосте с длинным ЮРЛ и отослать ссылку интересующему человеку...
     
Thread Status:
Not open for further replies.