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

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

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

    Afarcheg New Member

    Joined:
    20 Jul 2010
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    Крч ппц незнаю как сделать =[[[

    как сделать чтоб ранд небыле одинаковые?
    PHP:
    $usercount4235 '4';
    $rand1 rand(1,$usercount4235);
    $rand2 rand(1,$usercount4235);
    $rand3 rand(1,$usercount4235);
    $art '0';
    while(
    $art '0')
    {
    if((
    $rand1 == '$rand2') || ($rand2 == '$rand3') || ($rand1 == '$rand3'))
    {
    $rand1 rand(1,$usercount4235);
    $rand2 rand(1,$usercount4235);
    $rand3 rand(1,$usercount4235);
    if((
    $rand1 == '$rand2') || ($rand2 == '$rand3') || ($rand1 == '$rand3'))
    {
    }else{
    $art++;
    }

    }
     
  2. suziko

    suziko New Member

    Joined:
    24 Nov 2010
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    как можно бэкслеш "\" написать в линке чтобы работал в интернет эксплорере :confused:
     
  3. je0n

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

    Joined:
    14 May 2006
    Messages:
    345
    Likes Received:
    96
    Reputations:
    41
    %5C
    наверное так
     
  4. je0n

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

    Joined:
    14 May 2006
    Messages:
    345
    Likes Received:
    96
    Reputations:
    41
    PHP:
    $usercount4235 '4';
    $rand1 1;
    $rand2 2;
    $rand3 3;
    $art '0';
    while(
    $art '0')
    {
    if((
    $rand1 == '$rand2') || ($rand2 == '$rand3') || ($rand1 == '$rand3'))
    {
    $rand1 1;
    $rand2 2;
    $rand3 3;
    if((
    $rand1 == '$rand2') || ($rand2 == '$rand3') || ($rand1 == '$rand3'))
    {
    }else{
    $art++;
    }

    }
    может туплю, но какой вопрос - такой ответ :) Кстати этот код никогда не войдет в цикл while, если вдруг не знаешь...
    да и условия как-то странненько выглядят :)
     
    #17084 je0n, 1 Dec 2010
    Last edited: 1 Dec 2010
  5. Afarcheg

    Afarcheg New Member

    Joined:
    20 Jul 2010
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    Нее такое некак непокатит... мне надо к переименным ранд рандомное число и чтоб неповтарялось
     
  6. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    Какого результат вы пытаетесь добиться?
    PHP:
    if(($rand1 == '$rand2') || ($rand2 == '$rand3') || ($rand1 == '$rand3'))
    Это условие вообще не понять, вы сравниваете переменную с строкой а не другой переменной. Если правильно понял вам нужно сгенерировать 3 рандом числа, длинной 1 цифра (0-9) и чтоб 1я переменная была не равно 2-й и 3-й переменной и аналогично для остальных, т.е. все переменные разные значения, правильно?
     
  7. Yakim

    Yakim New Member

    Joined:
    19 Nov 2010
    Messages:
    21
    Likes Received:
    1
    Reputations:
    0
    PHP:
    $usercount4235 4;
    while (
    $rand1 == $rand2 || $rand2 == $rand3 || $rand1 == $rand3)
    {
        
    $rand1 rand(1$usercount4235);
        
    $rand2 rand(1$usercount4235);
        
    $rand3 rand(1$usercount4235);
    }
     
  8. bad_boy

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

    Joined:
    30 Dec 2004
    Messages:
    187
    Likes Received:
    33
    Reputations:
    3
    так можно и до бесконечности зациклиться
    PHP:
    <?php
    $usercount4235 
    4;
    $rand1 rand() % $usercount4235;
    do{
    $rand2 rand() % $usercount4235;} while ($rand1 == $rand2);
    do{
    $rand3 rand() % $usercount4235;} while ($rand3 == $rand2 || $rand3 == $rand1);
    echo 
    "$rand1\n$rand2\n$rand3";
     
  9. !Knyaz2010!

    !Knyaz2010! Member

    Joined:
    24 Jun 2010
    Messages:
    57
    Likes Received:
    5
    Reputations:
    5
    Есть 3 масива у $a, $b и $c. Как можна их склеить в один $d? Именно склеить и ни какой другой вариант. Спасибо большое!
     
  10. .::f-duck::.

    .::f-duck::. Member

    Joined:
    30 May 2009
    Messages:
    343
    Likes Received:
    32
    Reputations:
    7
    http://php.net/manual/en/function.array-merge.php
     
  11. qaz

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

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

    я скачал сниффер, поставил

    отправил тут пост http://mai1-ru.h2m.ru/wap/viewtopic.php?p=5


    вот што он показует


    http request header
    PHP:
    POST /wap/posting.php HTTP/1.1
    User
    -AgentOpera/9.80 (Windows NT 5.1UMRA 5.6 (build 03278); MRSPUTNIK OW 22094ruPresto/2.6.30 Version/10.63
    Host
    mai1-ru.h2m.ru
    Accept
    text/htmlapplication/xml;q=0.9application/xhtml+xmlimage/pngimage/jpegimage/gifimage/x-xbitmap, */*;q=0.1
    Accept-Language: uk-UA,uk;q=0.9,en;q=0.8
    Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
    Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
    Referer: http://mai1-ru.h2m.ru/wap/posting.php?mode=reply&t=1
    Cookie: sort=0a; phpbb2mysql_t=a%3A1%3A%7Bi%3A1%3Bi%3A1291319599%3B%7D; phpbb2mysql_data=a%3A2%3A%7Bs%3A11%3A%22autologinid%22%3Bs%3A32%3A%22dfc4ab8ea96e2f9c2769ce55cffe52dc%22%3Bs%3A6%3A%22userid%22%3Bs%3A1%3A%222%22%3B%7D; phpbb2mysql_sid=d746ce08ed5571d08d4f671c051cdeb4
    Cookie2: $Version=1
    Connection: Keep-Alive, TE
    TE: deflate, gzip, chunked, identity, trailers
    Content-Length: 952
    Content-Type: multipart/form-data; boundary=----------YHbNapcmDzW2ga9nZTZHX1

    http response header
    PHP:
    HTTP/1.1 302 Found
    Date
    Thu02 Dec 2010 19:54:26 GMT
    Server
    Apache/2.2.16 (FreeBSD)
    X-Powered-ByPHP/5.3.3
    Set
    -Cookiephpbb2mysql_t=a%3A1%3A%7Bi%3A1%3Bi%3A1291319666%3B%7Dpath=/
    Locationhttp://mai1-ru.h2m.ru/wap/viewtopic.php?p=5
    Content-Length0
    Keep
    -Alivetimeout=5max=100
    Connection
    Keep-Alive
    Content
    -Typetext/htmlcharset=UTF-8


    и как из етого понять какие поля нужно заюзать?
     
    #17091 qaz, 2 Dec 2010
    Last edited: 2 Dec 2010
  12. Vinsik

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

    Joined:
    4 Oct 2008
    Messages:
    189
    Likes Received:
    4
    Reputations:
    -5
    Помогите к этому коду прикрутить массовый загрузчик файлов http://www.uploadify.com/wp-content/uploads/Uploadify-v2.1.0.zip

    я совершенно не понимаю как они должны взаимодействовать... того кто поможет не обижу...

    addphotoform
    PHP:
    <?php
      
    // Устанавливаем соединение с базой данных
      
    require_once ("../config.php");
      if(
    $title == ""$titlepage=$title "Добавление\nфотографии";
      
    $helppage='Заполните необходимые поля и нажмите кнопку "Добавить". Поля отмеченные * являются обязательными для заполнения.';
      include 
    "../util/topadmin.php";  
      
    // Настраиваем управляющие переменные по умолчанию
      
    if(!isset($button)) $button "Добавить";
      if(!isset(
    $action)) $action "addphoto.php";
      if(!isset(
    $showhide)) $showhide "checked";
      
    // Получаем параметры из строки запросов
      
    $id_catalog $_GET['id_catalog'];
      
    $id_photo $_GET['id_photo'];
      
    // Если позиция контактного блока не передана форме
      // определяем её из таблицы contacts
      
    if(!isset($pos))
      {
        
    $query "SELECT MAX(pos) AS maxpos FROM photo
                  WHERE id_catalog=
    $id_catalog";
        
    $maxpos mysql_query($query);
        if(
    $maxpos)
        {
          if(
    mysql_num_rows($maxpos)>0$pos mysql_result($maxpos,0) + 1;
          else 
    $pos 1;
        } else 
    $pos 1;
      }
    ?>
    <table><tr><td>
    <p class=boxmenu><a class=menu href="index.php?id_catalog=<? echo $id_catalog; ?>&id_parent=<? echo $id_parent ?>">Вернуться в администрирование контактов</a></p>
    </td></tr></table>
    <form  enctype='multipart/form-data' action=<?php echo $action?> method=post>
    <table>
    <tr><td><p class=zag2>Название *</td><td><input size=61 class=input type=text name=name value='<?php echo $name?>'></td></tr>
    <tr><td><p class=zag2>Изображение. *</td><td><input class=input type=file name=image></td></tr>
    <tr><td><p class=zag2>Позиция *</td><td><input class=input type=text name=pos value='<?php echo $pos?>'></td></tr>
    <tr><td><p class=zag2>Отображать</td><td><input type=checkbox name=hide <?php echo $showhide?>></td></tr>
    <tr><td></td><td><input class=button type=submit value=<?php echo $button?>></td></tr>
    <input type=hidden name=id_catalog value=<?php echo $id_catalog?>>
    <input type=hidden name=id_photo value=<?php echo $id_photo?>>
    </table>
    </form>
    <?php
      
    include "../util/bottomadmin.php";  
    ?>
    addphoto
    PHP:
    <?php
      
    // Устанавливаем соединение с базой данных
      
    require_once ("../config.php");
      include 
    "util.php";  
      
    // Проверим - достаточно ли информации для занесения в базу данных
      
    if(empty($_POST['name'])) links($_POST['id_catalog'], "Отсутствует название фотографии");
      if(empty(
    $_POST['pos'])) links($_POST['id_catalog'], "Не введена позиция фотографии");
      
    // Проверяем скрыта или нет фотография
      
    if($_POST['hide'] == "on"$showhide "show";
      else 
    $showhide "hide";
      
    // Если во временном каталоге имеется соответствующий полю image
      // файл, копируем его из временного каталога в каталог /files
      
    if (!empty($_FILES['image']['tmp_name']))
      {
        
    // Определяем расширение файла
        
    $ext strrchr($_FILES['image']['name'], "."); 
        
    // Формируем путь к файлу    
        
    $image "files/".date("YmdHis",time())."$ext";
        
    $smallimage "files/".date("YmdHis",time())."_s$ext";  
        
    // Перемещаем файл из временной директории сервера в
        // директорию /files Web-приложения
        
    if (copy($_FILES['image']['tmp_name'], "../".$image))
        {
          
    // Уничтожаем файл во временной директории
          
    unlink($_FILES['image']['tmp_name']);
          
    // Изменяем права доступа к файлу
          
    chmod("../".$image0644);
        }
      } else 
    links($_POST['id_catalog'], "Фотография не передана на сервер");
      
    // Вызываем функцию resizeimg(), создающую уменьшенную копию фотографии
      // $image и помещающую её в файл $smallimage
      
    if(!resizeimg($image$smallimage133100))
        
    links($_POST['id_catalog'], "Ошибка при создании уменьшенной копии изображения с помощью библиотеки GDLib");
      
    // Заменяем одинарные кавычки обратными
      
    $_POST['name'] = str_replace("'""`"$_POST['name']);
      
    // Формируем запрос
      
    $query "INSERT INTO photo VALUES (NULL,
                                         '"
    .$_POST['name']."',
                                         '
    $smallimage',
                                         '
    $image',
                                         '
    $showhide',
                                         "
    .$_POST['pos'].",
                                         "
    .$_POST['id_catalog'].")";
      if(
    mysql_query($query))
      {
        
    // Осуществляем автоматический переход на главную страницу администрирования
        
    echo "<HTML><HEAD>
              <META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php?id_parent="
    .$_POST['id_catalog']."'>
              </HEAD>"
    ;

      } else 
    links($_POST['id_catalog'], "Ошибка при добавлении новой записи в таблицу фотографий");
      
    // Небольшая вспомогательная функция для вывода сообщений в окно браузера
      
    function links($id_catalog,$msg)
      {
        echo 
    "<p>".$msg."</p>";
        echo 
    "<p><a href=# onClick='history.back()'>Вернуться к правке фотографии</a></p>";
        echo 
    "<p><a href=index.php?id_parent=$id_catalog>Администрирование фотогалереи</a></p>";
        exit();
      }
    ?>
     
  13. Фараон

    Фараон коКотэ Of Antichat

    Joined:
    7 Nov 2010
    Messages:
    153
    Likes Received:
    105
    Reputations:
    83
    Тут есть инъекция:
    PHP:
      $id_catalog $_GET['id_catalog'];
      
    $id_photo $_GET['id_photo'];
      
    // Если позиция контактного блока не передана форме
      // определяем её из таблицы contacts
      
    if(!isset($pos))
      {
        
    $query "SELECT MAX(pos) AS maxpos FROM photo
                  WHERE id_catalog=
    $id_catalog";
        ...
    ?>
    А тут нет:
    PHP:
      $id_catalog intval($_GET['id_catalog']);
      
    $id_photo intval($_GET['id_photo']);
      
    // Если позиция контактного блока не передана форме
      // определяем её из таблицы contacts
      
    if(!isset($pos))
      {
        
    $query "SELECT MAX(pos) AS maxpos FROM photo
                  WHERE id_catalog=
    $id_catalog";
        ...
    ?>
    Тут есть:
    addphoto
    PHP:
    <?php
      
    /...
      
    $query "INSERT INTO photo VALUES (NULL,
                                         '"
    .$_POST['name']."',
                                         '
    $smallimage',
                                         '
    $image',
                                         '
    $showhide',
                                         "
    .$_POST['pos'].",
                                         "
    .$_POST['id_catalog'].")";
      ...
    А тут нет:
    PHP:
    <?php
      
    ...
      
    $query "INSERT INTO photo VALUES (NULL,
                                         '"
    .mysql_real_escape_string($_POST['name'])."',
                                         'mysql_real_escape_string(
    $smallimage)',
                                         'mysql_real_escape_string(
    $image)',
                                         'mysql_real_escape_string(
    $showhide)',
                                         "
    .mysql_real_escape_string($_POST['pos']).",
                                         "
    .mysql_real_escape_string($_POST['id_catalog']).")";
      if(
    mysql_query($query))
      ...
     
    #17093 Фараон, 3 Dec 2010
    Last edited: 3 Dec 2010
  14. Onkelz

    Onkelz New Member

    Joined:
    22 Sep 2010
    Messages:
    38
    Likes Received:
    2
    Reputations:
    -1
    Не могу понять, почему не выводит результат? Вопше ничего не выводит.

    PHP:
    <?
    function 
    fact($n) {

    for (
    $i=1,$i2=2$i2 <= $n$i++, $i2++)
    {
       
    $sum $i $i2;
    }
    return 
    $sum;
    }
    $a 5;
    echo 
    fact($a);
    ?>
     
  15. Edward

    Edward Banned

    Joined:
    11 Feb 2010
    Messages:
    329
    Likes Received:
    21
    Reputations:
    -1
    У меня например твой пример полностью работал на локалхосте. Но твоей целью как я понимаю было не только получить вывод на экран, но и зациклить, пока $i2 <= $n? Если так, то return $sum нужно внести в фигурные скобки цикла, но это еще не все, что б у меня работало мне пришлось return заменить на echo, вот пример

    PHP:
    <? function fact($n) { 
    for (
    $i=1,$i2=2$i2 <= $n$i++, $i2++) { 
    $sum $i $i2
    echo 
    $sum.'<br>'

    $a 5
    fact($a); ?>
     
  16. Onkelz

    Onkelz New Member

    Joined:
    22 Sep 2010
    Messages:
    38
    Likes Received:
    2
    Reputations:
    -1
    Теперь очко полное, у меня вопше циклы while (do-while) , for не пашут, всмысле ничего не выводят на екран.

    ОС Ubuntu 10.10. связка стандартная apache2 mysql-server php5 php5-mysql phpmyadmin. Все конфиги по дэфолту, ничего не менял.

    З.Ы. Все пахало, решал задачки, тут пошол курить ,прихожу и все ..
     
    #17096 Onkelz, 3 Dec 2010
    Last edited: 3 Dec 2010
  17. Edward

    Edward Banned

    Joined:
    11 Feb 2010
    Messages:
    329
    Likes Received:
    21
    Reputations:
    -1
    ХЗ, с настройками серверов на ВЫ, у меня vertrigo стоит. + с твоей осью никогда не работал, так что на проблему указать не могу. попробуй обычную операцию вывода
    PHP:
    <?php'Hello World!'?>
    Чтобы проверить интерпретатор вообще работает ли.
     
    #17097 Edward, 3 Dec 2010
    Last edited: 3 Dec 2010
  18. qaz

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

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

    я скачал сниффер, поставил

    отправил тут пост http://mai1-ru.h2m.ru/wap/viewtopic.php?p=5


    вот што он показует


    http request header
    PHP:
    POST /wap/posting.php HTTP/1.1
    User
    -AgentOpera/9.80 (Windows NT 5.1UMRA 5.6 (build 03278); MRSPUTNIK OW 22094ruPresto/2.6.30 Version/10.63
    Host
    mai1-ru.h2m.ru
    Accept
    text/htmlapplication/xml;q=0.9application/xhtml+xmlimage/pngimage/jpegimage/gifimage/x-xbitmap, */*;q=0.1
    Accept-Language: uk-UA,uk;q=0.9,en;q=0.8
    Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
    Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
    Referer: http://mai1-ru.h2m.ru/wap/posting.php?mode=reply&t=1
    Cookie: sort=0a; phpbb2mysql_t=a%3A1%3A%7Bi%3A1%3Bi%3A1291319599%3B%7D; phpbb2mysql_data=a%3A2%3A%7Bs%3A11%3A%22autologinid%22%3Bs%3A32%3A%22dfc4ab8ea96e2f9c2769ce55cffe52dc%22%3Bs%3A6%3A%22userid%22%3Bs%3A1%3A%222%22%3B%7D; phpbb2mysql_sid=d746ce08ed5571d08d4f671c051cdeb4
    Cookie2: $Version=1
    Connection: Keep-Alive, TE
    TE: deflate, gzip, chunked, identity, trailers
    Content-Length: 952
    Content-Type: multipart/form-data; boundary=----------YHbNapcmDzW2ga9nZTZHX1

    http response header
    PHP:
    HTTP/1.1 302 Found
    Date
    Thu02 Dec 2010 19:54:26 GMT
    Server
    Apache/2.2.16 (FreeBSD)
    X-Powered-ByPHP/5.3.3
    Set
    -Cookiephpbb2mysql_t=a%3A1%3A%7Bi%3A1%3Bi%3A1291319666%3B%7Dpath=/
    Locationhttp://mai1-ru.h2m.ru/wap/viewtopic.php?p=5
    Content-Length0
    Keep
    -Alivetimeout=5max=100
    Connection
    Keep-Alive
    Content
    -Typetext/htmlcharset=UTF-8


    и как из етого понять какие поля нужно заюзать?

    а других способов нет? штоб узнать поля запроса?
     
    #17098 qaz, 3 Dec 2010
    Last edited: 3 Dec 2010
  19. !Knyaz2010!

    !Knyaz2010! Member

    Joined:
    24 Jun 2010
    Messages:
    57
    Likes Received:
    5
    Reputations:
    5
    Как сделать, чтобы при перезапуске страницы checkbox сохранялись отмечеными?
     
  20. MRAK9

    MRAK9 Member

    Joined:
    29 Jul 2007
    Messages:
    115
    Likes Received:
    26
    Reputations:
    0
    использовать сессии
     
Thread Status:
Not open for further replies.