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

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

Thread Status:
Not open for further replies.
  1. Корвин

    Корвин Elder - Старейшина

    Joined:
    26 Feb 2007
    Messages:
    256
    Likes Received:
    31
    Reputations:
    3
    if($_POST['name']=="") 1 способ
    else 2 способ

    и еще там можно ставить value="значение по умолчанию" и в инпут onclick="this.value=''" , тогда при тыке курсором в поле значение по умолчанию будет пропадать
     
    #6501 Корвин, 3 Dec 2008
    Last edited: 3 Dec 2008
  2. Ru}{eeZ

    Ru}{eeZ Elder - Старейшина

    Joined:
    19 Feb 2008
    Messages:
    454
    Likes Received:
    73
    Reputations:
    -5
    if(isset($_POST['name'])) $who = $_POST['name'];
    else $who = 'Твоё значение';

    п.с. Корвин обогнал меня))
     
    #6502 Ru}{eeZ, 3 Dec 2008
    Last edited: 3 Dec 2008
  3. Корвин

    Корвин Elder - Старейшина

    Joined:
    26 Feb 2007
    Messages:
    256
    Likes Received:
    31
    Reputations:
    3
    ну каждый делает как ему нравится, может ты и прав, я показал как можно сделать, пусть сам решает учитывая твое замечание
     
  4. Корвин

    Корвин Elder - Старейшина

    Joined:
    26 Feb 2007
    Messages:
    256
    Likes Received:
    31
    Reputations:
    3

    :p . иссет это если вапще токой переменной нет, а тут говорится о пустом значении, поэтому лучше так:

    if(isset($_POST['name']) && $_POST['name']=="")
     
  5. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    Воланд абсолютно прав. Если тебе нужно присвоить значение пустой переменной, то полагаться на value="1234" или на js (типа onclick="if($(this).val() == '')$(this).val('Что-то там');") никогда не стоит т.к. это всё на стороне клиента...а как мы все знаем никогда нельзя доверять ничему что приходит от клиента :)




    а ещё лучше
    if(!empty($_POST['name']))
     
  6. Корвин

    Корвин Elder - Старейшина

    Joined:
    26 Feb 2007
    Messages:
    256
    Likes Received:
    31
    Reputations:
    3

    точняк, из головы вылетело, знал что есть такая функция


    PS мне нравится что онкликом без перезагрузки поле очищается
     
  7. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    да неважно, смысл примера я думаю был понятен
     
  8. Корвин

    Корвин Elder - Старейшина

    Joined:
    26 Feb 2007
    Messages:
    256
    Likes Received:
    31
    Reputations:
    3
    так все же вроде ясно, выбирай нужный тебе вариант и вставляй в свой код
     
  9. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    ну какбэ помоему тебе всё обьяснили...ты лучше напиши что конретно не ясно)

    Не знаю честно говоря что щас за книжки по пхп многие читают и везде пихают swith-case, где вполне можно обойтись if-else...
     
  10. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    ты под любыми печатными символами имеешь ввиду просто не пустоту значение или какие-то определённые?
    Ну вот пример если в строке должны быть только a-z,

    PHP:
    <?php
    switch(true){
        
        case (
    preg_match('#^[a-z]$#'), $_POST['name']): /* если $_POST['name'] имеет символы a-z */
            
    $who $_POST['name'];
        break;  
            
        default: 
    /* Если не совпадает с регекспом */
            
    $who 'Моё значение';    
        break;
    }
    ?>

    а если просто проверить не является ли $_POST['name'] пустым значением, то пример такой:
    PHP:

    <?php
    switch(true){
        
        case (!empty(
    $_POST['name'])): /* если $_POST['name'] не пуст */
            
    $who $_POST['name'];
        break;  
            
        default: 
    /* Если пуст */
            
    $who 'Моё значение';    
        break;
    }
    ?>

    Это если прям тебе обязательно нужно в swith-case всё изобразить, но пользоваться лучше в данном случае if-else имхо.

    PHP:
    if(!empty($_POST['name'])){
        
    $who $_POST['name'];
    }else{ 
    /* Если $_POST['name']  пусто*/
        
    $who 'Твоё значение';
    }

     
  11. Корвин

    Корвин Elder - Старейшина

    Joined:
    26 Feb 2007
    Messages:
    256
    Likes Received:
    31
    Reputations:
    3
    PHP:
    if (empty($_POST['name'])) $who "Мое значение";
    else 
    $who $_POST['name'];
    вот тебе код
     
  12. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Поясни, пожалуйста. В заголовке цикла - понятно, что создается копия массива и левая часть заголовка более не исполняется (правая, кстати, продолжает исполняться). Но разве копирование влияет на то, что происходит в теле цикла?

    Разумеется, array_map мне кажется более логичным и понятным решением, но предыдущий пример тоже работает, по крайней мере у меня:
    PHP:
    foreach($_POST as $key => $value

      
    $_POST[$key] = htmlspecialchars($value);
     
  13. Doom123

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

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    m0Hze
    1. Что за мазахизм? не легче сделать как Корвин показал?

    2.Используй explode.... каждую новую строку помести в массив а дальше легко ...
     
  14. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    PHP:
    <pre>
    <?
    $reciver = '[email protected]
    [email protected]
    [email protected]';

    $t = explode("\r\n",$reciver);
    print_r ($t);

    // 1 почта = $t[0]
    // 2 почта = $t[1]
    // 3 почта = $t[2]
    ?>
    </pre>
    или, если в одну строчку через запятую:

    PHP:
    <pre>
    <?
    $reciver = '[email protected],[email protected],[email protected]';

    $t = explode(",",$reciver);
    print_r ($t);

    // 1 почта = $t[0]
    // 2 почта = $t[1]
    // 3 почта = $t[2]
    ?>
    </pre>
     
    #6514 Pashkela, 3 Dec 2008
    Last edited: 3 Dec 2008
  15. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    ну к примеру с мейлами
    PHP:
    $list $_POST['mails']; // Переменная с многострочными данными
    $array_mail explode("\r\n"$list); //Загоняем каждую строку в массив (Вместо \r\n можно \n)
    foreach($array_mail as $mail){
        
    mail($mail, ....);
    }    

    там как бы идёт обработка присвоеных значений и ключей полученных их исходного массива, а не обработка исходного массива. (сам не понял чё сказал)))
     
    #6515 .:EnoT:., 3 Dec 2008
    Last edited: 3 Dec 2008
  16. brain[pillow]

    brain[pillow] Active Member

    Joined:
    7 Nov 2008
    Messages:
    7
    Likes Received:
    103
    Reputations:
    74
    Почему настройки не устанавливаются принудитенльно и скрипт выводит стандартное значение 8 мб?
    PHP:
    <?php
    echo ini_set("upload_max_filesize",1024*64*1024);
    echo 
    ini_set('post_max_size',1024*64*1024);
    echo 
    ini_get('post_max_size');
    echo 
    ini_get('upload_max_filesize');
    Как это можно исправить/обойти, не имея доступа к php.ini?
     
  17. Корвин

    Корвин Elder - Старейшина

    Joined:
    26 Feb 2007
    Messages:
    256
    Likes Received:
    31
    Reputations:
    3
    ты код который тебе пишут вставляй куда нить и смотри как работает, попробуй что нибудь в нем менять, так постепенно поймешь в чем фишка =)
     
  18. Корвин

    Корвин Elder - Старейшина

    Joined:
    26 Feb 2007
    Messages:
    256
    Likes Received:
    31
    Reputations:
    3
    в htaccess пропиши

    php_value upload_max_filesize 16M

    16M смени на скока тебе нада
     
  19. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    никак. Если бы php.ini можно было бы менять из скриптов, был бы ппц полный
     
  20. Корвин

    Корвин Elder - Старейшина

    Joined:
    26 Feb 2007
    Messages:
    256
    Likes Received:
    31
    Reputations:
    3
    из скриптов низя а через htaccess мона=)
     
Thread Status:
Not open for further replies.