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

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

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

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    PHP:
    preg_replace('/^<br>(.*)<br>$/i''\1'$str);
     
    1 person likes this.
  2. Macro

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

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    гг
    поправка

    PHP:
    $str=preg_replace('/^<br>(.*)<br>$/i''\1'$str);
    Я тоже иногда синтаксис с preg_match путаю :D
     
    1 person likes this.
  3. cb93ka

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

    Joined:
    4 Jan 2007
    Messages:
    36
    Likes Received:
    13
    Reputations:
    3
    что тут исправить чтобы при нажатии кнопки появлялася тока надпись, а кнопки да\нет исчезли?
     
  4. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    PHP:
    <?php
    if(isset($_POST['yes']))
    {
    $n=intval(file_get_contents('yes.dat'));
    $n++;
    $fp=fopen('yes.dat','wb');
    fwrite($fp,$n);
    fclose($fp);
    echo(
    'ВЫ*ВЫБРАЛИ*ДА!!!');
    }
    else
    if(isset(
    $_POST['no']))
    {
    $n=intval(file_get_contents('no.dat'));
    $n++;
    $fp=fopen('no.dat','wb');
    fwrite($fp,$n);
    fclose($fp);
    echo(
    'ВЫ*ВЫБРАЛИ*НЕТ!!!');
    }
    else
    print(
    '<form*method="POST"><input*type=submit*name=yes*value="Да"><input*type=submit*name=no*value="Нет"></form>');
    ?>
     
    1 person likes this.
  5. cb93ka

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

    Joined:
    4 Jan 2007
    Messages:
    36
    Likes Received:
    13
    Reputations:
    3
    Isis нету толка. тож самое
     
  6. Macro

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

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    PHP:
    <?
    if(isset(
    $_REQUEST['yes']))
    {
    $n=intval(file_get_contents('yes.dat'));
    $n++;
    $fp=fopen('yes.dat','wb');
    fwrite($fp,$n);
    fclose($fp);
    echo(
    'ВЫ*ВЫБРАЛИ*ДА!!!');die;
    }

    if(isset(
    $_REQUEST['no']))
    {
    $n=intval(file_get_contents('no.dat'));
    $n++;
    $fp=fopen('no.dat','wb');
    fwrite($fp,$n);
    fclose($fp);
    echo(
    'ВЫ*ВЫБРАЛИ*НЕТ!!!');die;
    }

    print(
    '<form*method="POST"><input*type=submit*name=yes*value="Да"><input*type=submit*name=no*value="Нет"></form>');
    ?>
     
  7. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    Macro, я уверен что код этот у него будет стоять где-нибудь в середине страницы...потом он с такими же вопросами будет спрашивать куда делся футер.....а твой "дай" сделал свою функцию - убил его
     
  8. Macro

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

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    Гг ну тогда
    PHP:
    <?php 
    if(isset($_POST['yes'])) 

    $n=intval(file_get_contents('yes.dat')); 
    $n++; 
    $fp=fopen('yes.dat','wb'); 
    fwrite($fp,$n); 
    fclose($fp); 
    echo(
    'ВЫ*ВЫБРАЛИ*ДА!!!'); 

    else{
    if(isset(
    $_POST['no'])) 

    $n=intval(file_get_contents('no.dat')); 
    $n++; 
    $fp=fopen('no.dat','wb'); 
    fwrite($fp,$n); 
    fclose($fp); 
    echo(
    'ВЫ*ВЫБРАЛИ*НЕТ!!!'); 

    else 
    print(
    '<form method="POST"><input type=submit name=yes value="Да"><input type=submit name=no value="Нет"></form>'); }
    ?>
     
  9. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    Macro, мой первый код аналогичный :)
     
  10. cb93ka

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

    Joined:
    4 Jan 2007
    Messages:
    36
    Likes Received:
    13
    Reputations:
    3
    Вроде заробило, тока я не понял, оно кэшируется или че. куки пусты вроде, но при обнове страницы показан выбранный ответ
     
    #1370 cb93ka, 28 Dec 2007
    Last edited: 28 Dec 2007
  11. Macro

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

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    Ты кэш обнови и радуйся
     
  12. cb93ka

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

    Joined:
    4 Jan 2007
    Messages:
    36
    Likes Received:
    13
    Reputations:
    3
    вопрос не по теме тада, как обновить? ф5 в опере не помогает =\
     
  13. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    cb93ka, если бы не работало, я бы не писал =\
     
  14. cb93ka

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

    Joined:
    4 Jan 2007
    Messages:
    36
    Likes Received:
    13
    Reputations:
    3
    из того же =(
    после тока как проголосовал - нажимаешь ф5 и ещё голоса плюсуются.
    как избежать? в какую сторону копать хотя бы? по кукам запрещать? или что
     
  15. Macro

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

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    Слушай, тут тема помощи, а не написания скриптов.
    Если хочешь, чтобы для тебя с нуля и до необходимого конца написали скрипт - плати.
     
  16. cb93ka

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

    Joined:
    4 Jan 2007
    Messages:
    36
    Likes Received:
    13
    Reputations:
    3
    я спросил в какую сторону копать.
     
  17. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    При нажатии F5 POST-запрос отправляется заново.
    По крайней мере, в Opera и FF
     
  18. Macro

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

    Joined:
    11 Nov 2006
    Messages:
    552
    Likes Received:
    298
    Reputations:
    207
    Копать в сторону запрета голосования с одного ip более одного раза, число голосов определять по количеству ip в файле или базе.
     
    1 person likes this.
  19. gibson

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

    Joined:
    24 Feb 2006
    Messages:
    391
    Likes Received:
    247
    Reputations:
    88
    PHP:
    <?php  
    if(isset($_POST['yes']))  
    {  
    $n=intval(file_get_contents('yes.dat'));  
    $n++;  
    $fp=fopen('yes.dat','wb');  
    fwrite($fp,$n);  
    fclose($fp);
    unset(
    $_POST['yes']);  
    echo(
    'ВЫ*ВЫБРАЛИ*ДА!!!');  
    }  
    else{ 
    if(isset(
    $_POST['no']))  
    {  
    $n=intval(file_get_contents('no.dat'));  
    $n++;  
    $fp=fopen('no.dat','wb');  
    fwrite($fp,$n);  
    fclose($fp);
    unset(
    $_POST['no']);  
    echo(
    'ВЫ*ВЫБРАЛИ*НЕТ!!!');  
    }  
    else  
    print(
    '<form method="POST"><input type=submit name=yes value="Да"><input type=submit name=no value="Нет"></form>'); } 
    ?>
    используй функцию unset. Для заперта голосования с одного ip
    PHP:
    $fp file('tools/port.txt');
    f(isset($_POST['yes']) && isset($_POST['no']))
           {
           
    $ip=getenv("Remote_addr");
           for (
    $i 0$i count($fp); $i++){
            
    $ban[$i] = ereg_replace("\n","",$fp[$i]);
            list(
    $banip,$banmessage)= spliti (" ",$fp[$i]);
          
    //если, в файле находим совпадение с ip
           
    if (eregi("^$banip$",$ip))
           {  echo 
    '<b>Вы уже голосовали&nbsp;'.$fp[$i].'</b>';         }
            }
           }
    проверь, написал на скорою руку.
     
  20. VampiRUS

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

    Joined:
    31 Dec 2005
    Messages:
    210
    Likes Received:
    105
    Reputations:
    57
    cb93ka после того как голос учтён, перекидывай юзверя на новую страницу, и проблема ф5 решена, например как на этом форуме при постинге.
     
Thread Status:
Not open for further replies.