За последние 24 часа нас посетил 17791 программист и 1714 роботов. Сейчас ищут 1713 программистов ...

Вопросы от новичка :)

Тема в разделе "PHP для новичков", создана пользователем Alukard, 11 июл 2006.

  1. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
  2. NIKO

    NIKO Активный пользователь

    С нами с:
    10 фев 2006
    Сообщения:
    655
    Симпатии:
    0
    Адрес:
    Armenia
  3. D.Lans

    D.Lans Активный пользователь

    С нами с:
    31 июл 2006
    Сообщения:
    345
    Симпатии:
    0
    read the f***ing manual
     
  4. NIKO

    NIKO Активный пользователь

    С нами с:
    10 фев 2006
    Сообщения:
    655
    Симпатии:
    0
    Адрес:
    Armenia
  5. def

    def Активный пользователь

    С нами с:
    24 апр 2006
    Сообщения:
    230
    Симпатии:
    0
    Адрес:
    Питер
    не понял.

    как это цифра (одна) на шесть разных (и тоже цифр) ? :)

    и вопрос - не что должно быть - а зачем - конечную задачу назови.

    ну можно еще вышеназванный вывод использовать. (заменить только на sprintf) и использовать строку как массив.
     
  6. Lobster

    Lobster Активный пользователь

    С нами с:
    10 авг 2006
    Сообщения:
    29
    Симпатии:
    0
    Полный код:
    PHP:
    1. <?
    2. //Вывод формы для ввода данных.
    3. $action = $_POST['action'];
    4. if (empty($action))
    5. {
    6. ?>
    7. <style type="text/css">
    8. <!--
    9. .style1 {
    10.     font-size: 10px;
    11.     font-family: Verdana, Arial, Helvetica, sans-serif;
    12. }
    13. -->
    14. </style>
    15. <center><form action="" method="post" name="dir" class="style1">
    16. <!--<input type="hidden" value="val" name="action">-->
    17.   Ведите путь до будущей папки:
    18.   <input name="path" type="text" id="path">
    19.   <!--<br>
    20. Введите имя будущей папки:  
    21. <input name="name" type="text" id="name">-->
    22. <br>
    23. введите права доступа к ней:
    24. <input name="perm" type="text" id="perm" maxlength="3">
    25. <br>
    26. <input type="submit" name="action" value="Создать папку">
    27. <input type="reset" name="Submit2" value="Сбросить форму">
    28. </form>
    29. </center>
    30. <?
    31. }
    32. else
    33. {
    34. /*
    35. Имя папки присваивается пользователем
    36. $dirname = $_POST['name'];
    37. */
    38. /*
    39. Имя папки присваиваеться рандомным числом от 100 до 999999
    40. $dirname = rand (100, 999999);
    41. */
    42. //Имя папки присваиваеться мощным рандомом из больших, маленьких букв + цифр.
    43. $dirnamegen = "QWERTYUIOPASDFGHJKLZXCVBNM1234567890qwertyuiopasdfghjklzxcvbnm";
    44. $dirname = substr(str_shuffle($dirnamegen),0,10);
    45. //Конец присваивания рандомного имени папки мощным рандомом!
    46. $path = $_POST['path'];
    47. $perm = $_POST['perm'];
    48.  if (empty($perm))
    49.   {
    50.   $perm = 777;
    51.   }
    52.   elseif ($perm != 777 and $perm != 666 and $perm != 766 and $perm != 700 and $perm != 660)
    53.   {
    54.   die ("Права доступа не могут быть $perm, так как таких
    55. прав не существует! Права доступа могут быть только 777 или 666 или
    56. 766 или 700 или же 660. Вернитесь назад и введите,
    57. пожалуйста, правильные права доступа, либо ничего
    58. не воодите для присвоения папке прав 777.");
    59.   }
    60. $mkdir = mkdir ("$path/$dirname", $perm);
    61.     if ($mkdir)
    62.     {
    63.     $fullpath = "$path/$dirname";
    64.             echo ("<font style=style1>Папка <font color=green><b>$dirname</b></font>
    65. с правами доступа <font color=blue><b>$perm</b>
    66. </font> успешна создана в <font color=red><i>$path</i>
    67. </font>!</font> $fullpath");
    68.     }
    69.     else
    70.     {
    71.         die ("Ошибка создания папки!");
    72.     }
    73. }
    74. ?>
    75.  
    Народ, помогите, можно как нить это
    PHP:
    1.  
    2. elseif ($perm != 777 and $perm != 666 and $perm != 766 and $perm != 700 and $perm != 660)
    3.   {
    Заменить на что нибудь более легкое чтобы не так награмождено было, типо как нить через аррэй:
    PHP:
    1.  
    2. $perms = array (
    3. 666,
    4. 777,
    5. 700,
    6. 766);
    7.  if ($perm != $perms)
    8.  {
    9. die ("...")
    10. }
    типо так, можно? (я пробовал, чет не получаеться, постоянно на любой ввод пишет что не правильные права доступа)

    ЗЫ: не обращайте внимания на мой глупый и не нужный скрипт, я только учусь и импровизирую!
     
  7. simpson

    simpson Активный пользователь

    С нами с:
    11 фев 2006
    Сообщения:
    1.650
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Код (Text):
    1. if (false === in_array($perm, $perms)) { ...
    так что ли?
     
  8. Lobster

    Lobster Активный пользователь

    С нами с:
    10 авг 2006
    Сообщения:
    29
    Симпатии:
    0
    да да да да да, спасибо, именно это мне и надо было, спасибо!

    век живи, век учись :)
     
  9. NIKO

    NIKO Активный пользователь

    С нами с:
    10 фев 2006
    Сообщения:
    655
    Симпатии:
    0
    Адрес:
    Armenia
    simpson
    оператор === че значит?
     
  10. D.Lans

    D.Lans Активный пользователь

    С нами с:
    31 июл 2006
    Сообщения:
    345
    Симпатии:
    0
    NIKO, типовое и знаковое равенство
     
  11. Lesya

    Lesya Активный пользователь

    С нами с:
    14 авг 2006
    Сообщения:
    54
    Симпатии:
    0
    Адрес:
    Запорожье
    PHP:
    1. <? ...
    2. if (isset($km) && isset($kg))  echo "Оба поля заполнены";
    3. else                                     echo "Не все поля заполнены";
    4.  
    5.  
    6. echo '<FORM action=""  method="GET">
    7.        <input type="text" name="km" />
    8.        <input type="text" name="kg" />
    9.        <input type="submit" value="submit" />
    10.        </FORM>';
    11. ?>
    12.  
    Заполяняю одно только поле, а выводится сообщение, что заполнены оба.
    Подскажите, пожалуйста, в чем ошибка.
     
  12. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    Потому что isset проверяет существует ли переменная, а она будет существовать всегда после отправки формы, даже если будет содержать пустую строку. Проверку лучше сделать так:
    Код (Text):
    1. if ( isset( $_POST[ 'km' ] ) ) {
    2.   if ( ( strlen( $_POST[ 'km' ] ) ) && ( strlen( $_POST[ 'kg' ] ) ) ) {
    3.     print 'Оба поля';
    4.   } elseif print 'Не все';
    5. }
    Если непонятно, что такое $_POST — читать www.phpfaq.ru/globals
     
  13. Lesya

    Lesya Активный пользователь

    С нами с:
    14 авг 2006
    Сообщения:
    54
    Симпатии:
    0
    Адрес:
    Запорожье
    vasa_c, спасибо
     
  14. svk

    svk Активный пользователь

    С нами с:
    7 авг 2006
    Сообщения:
    506
    Симпатии:
    0
    Адрес:
    NetByNet
    вместо strlen лучше использовать !empty