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

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

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

    randman Members of Antichat

    Joined:
    15 May 2010
    Messages:
    1,366
    Likes Received:
    610
    Reputations:
    1,101
    Ну вот пример кода:
    PHP:
    $QueryCP mysql_query('SELECT id, more, ip, name, l, icq, date_quest FROM `xameha_spia` WHERE SUBSTR(`more`, 1, 1) = \'0\'');

    while(
    $ArrayCP mysql_fetch_array($QueryCP)) {

    echo 
    '<TR>

        <TD>'
    .$ArrayCP['date_quest'].'</TD>

        <TD>'
    .$ArrayCP['name'].'</TD>

        <TD>'
    .$ArrayCP['l'].'</TD>

        <TD>'
    .$ArrayCP['icq'].'</TD>

        <TD><A HREF="?str=admin&browsing='
    .$ArrayCP['id'].'">Continue</A></TD>

        <TD>'
    .$ArrayCP['ip'].'</TD>

        <TD><center><img src="http://web.icq.com/whitepages/online?icq='
    .$ArrayCP['icq'].'&img=5" border="0"/></center></TD>

        <TD><A HREF="?str=admin&hide='
    .$ArrayCP['id'].'"><IMG HEIGHT="16" WIDTH="16" src="../img/p.ico" ALT="Hide"></A><A HREF="?str=admin&del='.$ArrayCP['id'].'"><IMG HEIGHT="16" WIDTH="16" src="../img/d.ico" ALT="Delete"></A><A HREF="?str=admin&ban='.$ArrayCP['id'].'"><IMG HEIGHT="16" WIDTH="16" src="../img/b.ico" ALT="Banning"></A></TD>

    </TR>'
    ;



    }
     
    #18181 randman, 9 Apr 2011
    Last edited: 9 Apr 2011
  2. blud

    blud New Member

    Joined:
    29 Jan 2011
    Messages:
    22
    Likes Received:
    2
    Reputations:
    -5
    еще вопросик. Сделав скрипт теперь массив воводится так:
    Array ( [0] => blud [2] => bludt [5] => bludt6 [7] => bludt4 [8] => bludt1 [9] => bludt3 [10] => bludt2 [12] => bludt34 )

    есть ли такая функция что бы восстановить нумерацию в массиве, то есть что бы стало:
    Array ( [0] => blud [1] => bludt [2] => bludt6 [3] => bludt4 [4] => bludt1 [5 => bludt3 [6] => bludt2 [7 => bludt34[8] )
    Спасибо.
     
  3. IScript

    IScript Banned

    Joined:
    5 Apr 2011
    Messages:
    13
    Likes Received:
    1
    Reputations:
    -5
    Всем привет!
    Можете дать пример кода регистрации на каком либо сайте через get/post запросы?
    Например, я сижу на дедике, и чтобы от-туда я бы смог зарегестрироваться на каком-либо сайте.
    Сразу говорю - я про это читал, но там только про обычные запросы к браузеру...
    Заранее спасибо!
     
  4. Rastamanka

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

    Joined:
    26 Nov 2008
    Messages:
    429
    Likes Received:
    11
    Reputations:
    7
    Добрый день. Подскажите кто знает.
    Получаю на php скрипт данные методом POST.
    Code:
    $time = trim($_POST["time"]);
    Необходимо чтобы была проверка на запись только в формате.
    Code:
    12:12:12
    12:12
    01:12
    2:12
    
    А если кто-то вместо двоеточия использовал точку с запятой то заменять ее на двоеточие.
    Другие символы соответственно запрещены чтобы были.
     
  5. lstaticl

    lstaticl New Member

    Joined:
    29 Aug 2010
    Messages:
    11
    Likes Received:
    1
    Reputations:
    0
    Читаем как писать регулярки и функцию preg_match()
     
  6. lstaticl

    lstaticl New Member

    Joined:
    29 Aug 2010
    Messages:
    11
    Likes Received:
    1
    Reputations:
    0
    Если не секрет, поясни что ты понимаешь под словосочетанием "Я сижу на дедике..." и что и где ты хочешь зарегать?
     
  7. M1ks

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

    Joined:
    23 Aug 2007
    Messages:
    140
    Likes Received:
    9
    Reputations:
    0
    Нужна помощь создать небольшую голосовалку)
    К примеру вопрос, и к нему ответы( чтобы можно было выбрать несколько) после отправки, чтобы както выводились результаты типа ответ 1 - n проголосовавших, ответ 2 - n проголосовавших.
    Если не сложно, помогите =)
     
  8. IScript

    IScript Banned

    Joined:
    5 Apr 2011
    Messages:
    13
    Likes Received:
    1
    Reputations:
    -5
    Я сижу на локальном сервере..
    зарегать где угодно, просто не знаю как, не получается...
     
  9. IScript

    IScript Banned

    Joined:
    5 Apr 2011
    Messages:
    13
    Likes Received:
    1
    Reputations:
    -5
    Ну..можно создать html форму что-то вроде этого:
    --Файл index.php--
    <pre>Вопрос:</pre>
    <form method=POST action=golos.php>
    <input type=radio name=var1>Вариант 1<br>
    <input type=radio name=var2>Вариант 2<br>
    <input type=radio name=var3>Вариант 3<br>
    <input type=submit value=Голосовать>
    </form>
    --------------
    --Файл golos.php--
    <pre>Голосование:</pre>
    <?php
    $a = ($_POST[var1]);
    $b = ($_POST[var2]);
    $c = ($_POST[var3]);
    $var1 = 0;
    $var2 = 0;
    $var3 = 0;
    if($a == on) {
    $v1 = $var1 + 1;
    }
    if($b == on) {
    $v2 = $var2 + 1;
    }
    if($c == on) {
    $v3 = $var3 + 1;
    }
    echo "Вариант 1 - $v1<br>
    Вариант 2 - $v2<br>
    Вариант 3 - $v3<br>";
    ?>
    Тут будет просто прибавляться по 1 к тому, что выбрали)) но ответы будут всегда сбрасываться, так как надо делать вообще по другому, просто написал это чтоб ты понял как примерно работает =)
     
    1 person likes this.
  10. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    Есть страничка с таблицей :

    PHP:
    <tr>
    <
    td height="19" width="65" valign="middle" class="txt-w" align="right">&nbsp;
    60</td>
    <
    td valign="middle" class="txt" align="left"><img style="position: relative; float: left;" width=16 height=16 alt="Логотип Вольный отряд" border="0" src="http://resources.apeha.ru/upload/1_265.gif"><a alt="Сайт Вольный отряд"><div style="position: relative; float: left; cursor: pointer;" onClick="OpenSite('v-ot.ru',113);">Вольный отряд</div></a></td>
    <
    td valign="middle" class="txt" align="center">342</td><td valign="middle" class="txt" align="center">7.5</td>
    <
    td valign="middle" class="txt" align="center">2565</td>
    <
    td>&nbsp;</td></tr>


    <
    tr>
    <
    td height="19" width="65" valign="middle" class="txt-w" align="right">&nbsp;
    52</td>
    <
    td valign="middle" class="txt" align="left"><img style="position: relative; float: left;" width=16 height=16 alt="Логотип OLYMP" border="0" src="http://resources.apeha.ru/upload/1_1344.gif"><a alt="Сайт OLYMP"><div style="position: relative; float: left; cursor: pointer;" onClick="OpenSite('www.olymp-clan.ru',185);">OLYMP</div></a></td>
    <
    td valign="middle" class="txt" align="center">138</td><td valign="middle" class="txt" align="center">5</td>
    <
    td valign="middle" class="txt" align="center">690</td>
    <
    td>&nbsp;</td></tr>
    Таких строк (от <tr> до </tr>) около 100.

    Как можно распарсить их и забить массив
    например
    $array['x']['у'] где х порядковый номер строки, а у цифры от 1 до 4 , название, и 3 разные цифры.

    Например из тех данных что я привел,надо получить массив :

    $array['1']
    ----------['1'] = Вольный отряд
    ----------['2'] = 342
    ----------['3'] = 7.5
    ----------['4'] = 2565
    $array['2']
    ----------['1'] = OLYMP
    ----------['2'] = 138
    ----------['3'] = 5
    ----------['4'] = 690

    Это рейтинг сайтов, мн нужно определить на какой позиции мой.
     
  11. J.U.M.P

    J.U.M.P Member

    Joined:
    8 Sep 2009
    Messages:
    15
    Likes Received:
    9
    Reputations:
    4
    Довольно простой и удобный способ с защитой от повторного голосования, результаты хранятся в текстовике.

    Код формы:

    <form method="POST" action="Action.php">
    <input name="vote" type="radio" value="1">Вариант 1<br>
    <input name="vote" type="radio" value="2">Вариант 2<br>
    <input name="vote" type="radio" value="3">Вариант 3<br>
    <input name="vote" type="radio" value="4">Вариант 4<br>
    <input name="ok" type="submit"><br>
    </form>

    Обработчик:

    <?php
    # проверяем, еслть ли кукис. (Если нету, значит мы еще не голосовали)
    if (!isset($_COOKIE['vote'])) // если кукис не нашлась
    {
    if (isset($_POST['ok'])) // если кнопка формы нажата
    {
    SetCookie("vote","Бла бла бла", time() + 3000000); // устанавливаем кукис, чтобы в следующий раз знать что мы проголосовали
    $var = $_POST['program'];
    $file = file("vote.txt"); // заносим содержимое файла vote.txt в массив (В этом фале хранятся результаты голосования)

    # увеличиваем переменную на 10
    switch ($var) {
    case "1": $file[0] = $file[0] + 10 . "\n"; break;
    case "2": $file[1] = $file[1] + 10 . "\n"; break;
    case "3": $file[2] = $file[2] + 10 . "\n"; break;
    case "4": $file[3] = $file[3] + 10 . "\n"; break;

    # записываем в файл }
    $write = $file[0] . $file[1] . $file[2] . $file[3] . $file[4];
    $fp = fopen("vote.txt","w+");
    fwrite($fp, $write);
    fclose($fp);

    }
    }
    $result = file("vote.txt"); // снова открываем файл
    ?>

    <!-- Далее выводим таблицу, в которой показываем результаты голосования. -->
    <table border=0>
    <tr><td align="left">Вариант 1 </td><td><small><?php echo $result[0]/10; ?></small></td><td> <hr size="10" align="left" width="<?php echo $result[0]; ?>" color="green" > </td></tr>
    <tr><td align="left">Вариант 2 </td><td><small><?php echo $result[1]/10; ?></small></td><td> <hr size="10" align="left" width="<?php echo $result[1]; ?>" color="yellow" > </td></tr>
    <tr><td align="left">Вариант 3 </td><td><small><?php echo $result[2]/10; ?></small></td><td> <hr size="10" align="left" width="<?php echo $result[2]; ?>" color="red" > </td></tr>
    <tr><td align="left">Вариант 3 </td><td><small><?php echo $result[3]/10; ?></small></td><td> <hr size="10" align="left" width="<?php echo $result[3]; ?>" color="blue"> </td></tr>
    </table>
     
    1 person likes this.
  12. IScript

    IScript Banned

    Joined:
    5 Apr 2011
    Messages:
    13
    Likes Received:
    1
    Reputations:
    -5
    Ахахах, да - этот вариант намного лучше)
     
  13. M1ks

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

    Joined:
    23 Aug 2007
    Messages:
    140
    Likes Received:
    9
    Reputations:
    0
    все конечно хорошо, но мне надо, чтобы можно было выбрать сразу несколько вариантов, а остальное все меня устраивает )
     
  14. randman

    randman Members of Antichat

    Joined:
    15 May 2010
    Messages:
    1,366
    Likes Received:
    610
    Reputations:
    1,101
    PHP:
    <form method="POST">
    <input name="g1" type="checkbox" value="1">Вариант 1<br>
    <input name="g2" type="checkbox" value="2">Вариант 2<br>
    <input name="g3" type="checkbox" value="3">Вариант 3<br>
    <input name="g4" type="checkbox" value="4">Вариант 4<br>
    <input name="ok" type="submit"><br>
    </form>

    Обработчик:

    <?php
    # проверяем, еслть ли кукис. (Если нету, значит мы еще не голосовали)
    if (!isset($_COOKIE['vote'])) // если кукис не нашлась
    {
    if (isset(
    $_POST['ok'])) // если кнопка формы нажата
    {
    SetCookie("vote","Бла бла бла"time() + 3000000); // устанавливаем кукис, чтобы в следующий раз знать что мы проголосовали
    $file file("vote.txt"); // заносим содержимое файла vote.txt в массив (В этом фале хранятся результаты голосования)

    # увеличиваем переменную на 10
    if ($_POS['g1']=='1')
    $file[0] = $file[0] + 10 "\n"; break;
    if (
    $_POS['g2']=='2')
    $file[1] = $file[1] + 10 "\n"; break;
    if (
    $_POS['g3']=='3')
    $file[2] = $file[2] + 10 "\n"; break;
    if (
    $_POS['g4']=='4')
    $file[3] = $file[3] + 10 "\n"; break;

    # записываем в файл 
    $write $file[0] . $file[1] . $file[2] . $file[3] . $file[4];
    $fp fopen("vote.txt","w+");
    fwrite($fp$write);
    fclose($fp);

    }
    }
    $result file("vote.txt"); // снова открываем файл
    ?>
    <!-- Далее выводим таблицу, в которой показываем результаты голосования. -->
    <table border=0>
    <tr><td align="left">Вариант 1 </td><td><small><?php echo $result[0]/10?></small></td><td> <hr size="10" align="left" width="<?php echo $result[0]; ?>" color="green" > </td></tr>
    <tr><td align="left">Вариант 2 </td><td><small><?php echo $result[1]/10?></small></td><td> <hr size="10" align="left" width="<?php echo $result[1]; ?>" color="yellow" > </td></tr>
    <tr><td align="left">Вариант 3 </td><td><small><?php echo $result[2]/10?></small></td><td> <hr size="10" align="left" width="<?php echo $result[2]; ?>" color="red" > </td></tr>
    <tr><td align="left">Вариант 3 </td><td><small><?php echo $result[3]/10?></small></td><td> <hr size="10" align="left" width="<?php echo $result[3]; ?>" color="blue"> </td></tr>
    </table>

     
    1 person likes this.
  15. Dr1ver

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

    Joined:
    20 Aug 2008
    Messages:
    83
    Likes Received:
    80
    Reputations:
    14
    Это можно сделать функцией preg_match_all

    PHP:
    $input='html';
    preg_match_all('шаблон',$input,$outmassiv);
    вот только шаблон лень составлять, вот хорошая статья по составлению http://pyha.ru/forum/topic/19.0
    обратить внимание на модификаторы, и ( )
     
  16. IScript

    IScript Banned

    Joined:
    5 Apr 2011
    Messages:
    13
    Likes Received:
    1
    Reputations:
    -5
    Так ты просто место radio ставь checkbox!
     
  17. ZERO-Y

    ZERO-Y Elder - Старейшина

    Joined:
    28 Mar 2006
    Messages:
    85
    Likes Received:
    16
    Reputations:
    3
    Привет всем, помогите передать данные сгенерированные javascript'ом. Блин уже все перелопатил, хотя если бы знал где искать...
    В общем есть форма :
    И внизу javascript который заполняет данные и что-то там считает.

    Нужно передать данные что генерируются javascript'ом тут -
    P.S. Если я в 1.php добавлю этот код :
    PHP:
    <?php
    $calculator 
    $_POST["calculator"];
    foreach (
    $calculator as $key =>  $value)
        {
        echo 
    $value $key;
        }
    ?>
    То выводит следующую стоку:

    Мне на 1.php нужно получить эти данные что выводятся (5, 28) Только я или не правильно передаю, или не знаю как забрать их с масива =)
    Буду благодарен за помощь =)
     
    #18197 ZERO-Y, 11 Apr 2011
    Last edited: 11 Apr 2011
  18. DaeWoo

    DaeWoo New Member

    Joined:
    10 Feb 2011
    Messages:
    27
    Likes Received:
    0
    Reputations:
    0
    В DLE при переходе по адресу например
    PHP:
    site.by/index.php?do=pm&doaction=newpm&user=1
    В поле "name" автоматически вносится Ник пользователя с id=1

    Каким образом получить значение "name" и занести его в переменную?
     
  19. Markerok

    Markerok Banned

    Joined:
    13 Nov 2009
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    PHP:
    <?
    //авторизация и другая муть
    $count 6// кол-во проверок
    for($i=1;$i<=$count;$i++){
    $from[$i] = file_get_contents("http://dle-news.ru/index.php?do=pm&doaction=newpm&user=$i");
    $name[$i]= preg_match('/<input type="text" name="name" value="(.*?)" class="f_input" \/><\/td>/'$from[$i]);
    }
    ?>
    честно, не пробовал, ибо нету авторизации dle,но по идее должно работать
    PS естественно на Вашем сайте может быть другой шаблон => другой код отправки PM, но подправить пару строчек думаю не составит большого труда
     
  20. M1ks

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

    Joined:
    23 Aug 2007
    Messages:
    140
    Likes Received:
    9
    Reputations:
    0
    Только чтото она не работает, сначала ошибка была с break, но это поправил. Теперь просто не заносится в файл ничего и не появляются результаты
     
Thread Status:
Not open for further replies.