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

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

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

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    PHP:
    <?php
    $conn 
    mysql_connect("localhost""mysql_user""mysql_password");
    if (!
    $conn) {
        echo 
    "Unable to connect to DB: " mysql_error();
        exit;

    if (!
    mysql_select_db("mydbname")) {
        echo 
    "Unable to select mydbname: " mysql_error();
        exit;
    }
    $sql "SELECT id as userid, fullname, userstatus 
            FROM   sometable
            WHERE  userstatus = 1"
    ;
    $result mysql_query($sql);
    if (!
    $result) {
        echo 
    "Could not successfully run query ($sql) from DB: " mysql_error();
        exit;
    }

    if (
    mysql_num_rows($result) == 0) {
        echo 
    "No rows found, nothing to print so am exiting";
        exit;
    }
    while (
    $row mysql_fetch_assoc($result)) {
        echo 
    $row["id"]; //id
        
    echo $row["name"]; //имя
        
    echo $row["parents"]; //родительский
        
    echo $row["newid"]; //еще айди
    }
    mysql_free_result($result);
    ?>
    http://ua2.php.net/mysql_fetch_assoc - почитай
     
  2. Balvan

    Balvan Member

    Joined:
    11 Mar 2009
    Messages:
    66
    Likes Received:
    5
    Reputations:
    0
    Подскажите пожалуйста как перемешивать символы?

    Пример: даётся длинна строки ну например 4 символа и скрипт генерирует это.

    длинна строки = 3 (строка числовая)
    получаем: 123 132 213 231 312 321 (именно так, без "повторов", типа 112, 111 и т.п.)
     
  3. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Code:
    <?php
    	function gen($c,$a) {
    		global $symb, $cnt, $ch;
    		foreach($symb as $v) {
    			$a[$c-1] = $v;
    			if(array_unique($a) == $a) {
    				if($c==$cnt) {
    					$ch[] = implode('',$a);
    				} else {
    					$array = gen($c+1,$a);
    				}
    			}
    		}
    	}
    	$ch = array();
    	$cnt = 3; // кол-во символов
    	$symb = array(1,3,5); // буквы, цифры и т.п.
    	gen(1,array()); // генерируем, изменяя массив $ch
    	echo implode(' ', $ch); // выводим массив
    ?>
     
  4. Balvan

    Balvan Member

    Joined:
    11 Mar 2009
    Messages:
    66
    Likes Received:
    5
    Reputations:
    0
    Спасибище! =*
     
  5. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25
    PHP:

    <?php

    $fp 
    fopen("flood.dic","r");
    $str "tiponick";
    $url "http://www.games.ru/cgi-bin/chat/chat_login.cgi";
    $ref "http://www.games.ru/chat/";
    $ua "IE 5.0";
    $req "nickname=$str&ok=%C2%EE%E9%F2%E8";
    $req1 "user=$str&room=general&stol=lKyeL3C9rgEcf1&key=&message=Превед!&submit= >>> ";

    $ch curl_init($url);
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_REFERER,$ref);
    curl_setopt($ch,CURLOPT_USERAGENT,$ua);
    curl_setopt($ch,CURLOPT_POST,1);
    curl_setopt($ch,CURLOPT_POSTFIELDS,$req);
    curl_setopt($ch,CURLOPT_COOKIEFILE,"./cook");
    curl_setopt($ch,CURLOPT_COOKIEJAR,"./cook");
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

    $result curl_exec($ch);
    echo 
    $result;
    curl_close($ch);

    $ch curl_init("http://www.games.ru/chat/put.htm");
    curl_setopt($ch,CURLOPT_USERAGENT,$ua);
    curl_setopt($ch,CURLOPT_REFERER,ref);
    curl_setopt($ch,CURLOPT_POST,1);
    curl_setopt($ch,CURLOPT_POSTFIELDS,$req1);
    curl_setopt($ch,CURLOPT_COOKIEFILE,"./cook");
    curl_setopt($ch,CURLOPT_COOKIEJAR,"./cook");





    ?>

    flood.dic - эт просто словарик))


    Что-то не робит он:(Или я запутался с фреймами,или не понял задумку.Цикл не делал,ибо для теста.Всё равно считает одну строку:)
     
  6. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    а чего ты хотел-то???

    Просто открыл файл на чтение:

    $fp = fopen("flood.dic","r");

    и всё. Дальше с файлом вообще ничего не делаешь
     
  7. Balvan

    Balvan Member

    Joined:
    11 Mar 2009
    Messages:
    66
    Likes Received:
    5
    Reputations:
    0
    Извините, а как можно ограничивать массив?

    вот например:
    Code:
    <?php
    	function gen($c,$a) {
    		global $symb, $cnt, $ch;
    		foreach($symb as $v) {
    			$a[$c-1] = $v;
    			if(array_unique($a) == $a) {
    				if($c==$cnt) {
    					$ch[] = implode('',$a);
    				} else {
    					$array = gen($c+1,$a);
    				}
    			}
    		}
    	}
    	$ch = array();
    	$cnt = 3; // кол-во символов
    	$symb = array(1,2,3,4,5,6); // буквы, цифры и т.п.
    	gen(1,array()); // генерируем, изменяя массив $ch
    	echo implode(' ', $ch); // выводим массив
    ?>
    
    чтобы этот код после выводил не каждый элемент массива с каждым, а каждые элемент с каждым до $cnt??? т.е чтобы "перемешивались" $cnt элементов массива $symb (в этом случае 1, 2 и 3)



    :) осознал свою тупость ))) спасибо!!! проблема решена...
     
    #9147 Balvan, 20 Mar 2009
    Last edited: 21 Mar 2009
  8. Patronik

    Patronik Member

    Joined:
    16 Mar 2009
    Messages:
    111
    Likes Received:
    12
    Reputations:
    0
    Скажыте как соединить форму и программу в одном файле. Например:
    <html>
    <head>
    <title></title>
    </head>

    <body>
    <?php
    $a = $_POST['a'];
    if (empty($a))
    {
    echo<<<EOS
    <form
    method = "post"
    action ="OutputA.php">
    <input type = "text"
    name = "a">
    <input type = "submit"
    value = "вивести">
    </form>
    EOS;
    }
    else
    {
    echo $a;
    }
    ?>
    </body>
    </html>
    Надо чтобы при первом запуске виводилась форма а восле ввода $a форма вызывала ету же программу но уже с !empty($a) и чтобы исполнился else
     
  9. laedafess

    laedafess Member

    Joined:
    11 Feb 2009
    Messages:
    70
    Likes Received:
    29
    Reputations:
    15
    ну назови эту "программу" OutputA.php и после нажатия на "вивести":) исполнится else
    наверно..
     
  10. AkyHa_MaTaTa

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

    Joined:
    19 Mar 2007
    Messages:
    557
    Likes Received:
    306
    Reputations:
    27
    Не совсем понял что тебе надо, то есть форма должна присутвовать и при установленой _POST['a'] и при не установленой _POST['a']?

    PHP:
    <html>
    <head>
    <title></title>
    </head>
    <body>
     <form method = "post" action ="">
      <input type = "text" name = "a" value="<? echo !empty($_POST['a']) ? $_POST['a'] : '' ?>">
      <input type = "submit" value = "вивести">
     </form>
     <?php
     
    if (!empty($_POST['a'])) {
       echo 
    $a;
       
    //do something
     
    }
     else{
       
    //do something else
     
    }
    ?>
    </body>
    </html>
     
    #9150 AkyHa_MaTaTa, 21 Mar 2009
    Last edited: 21 Mar 2009
  11. Patronik

    Patronik Member

    Joined:
    16 Mar 2009
    Messages:
    111
    Likes Received:
    12
    Reputations:
    0
    Мне надо чтобы форма вызывалась только при неустановленой $a а если $a установлена то чтобы исполнился
    else
    {
    echo $a;
    }
    И чтобы после ввода в форму $a запускался етот же файл OutputA.php но исполнился уже else
     
  12. art2222

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

    Joined:
    28 Apr 2008
    Messages:
    118
    Likes Received:
    57
    Reputations:
    10
    PHP:
    <html>
    <head>
        <title></title>
    </head>
    <body>
    <?php
        
    if (empty($_POST['a']))
        {
    ?>
    <form method = "post">
        <input name = "a">
        <input type = "submit" value = "Вывести">
    </form>
    <?php
        
    }
        else echo 
    $_POST['a'];
    ?>
    </body>
    </html>
    Так что-ли?
     
    #9152 art2222, 21 Mar 2009
    Last edited: 21 Mar 2009
  13. Patronik

    Patronik Member

    Joined:
    16 Mar 2009
    Messages:
    111
    Likes Received:
    12
    Reputations:
    0
    2 art2222
    Так не работает. Так как ты написал форма вызываеться влюбом случае а надо только тогда когда $a не определенная. Форма должна запускаться из пхп кода!!!! И только при empty($a), а после ввода значения в форму должна запускаться ета же программа но исполниться должен не TRUE а ELSE!!!
    У меня получилось я сделал так:
    <html>
    <head>
    <title></title>
    </head>
    <body>

    <?php
    if (empty($_POST['a']))
    {
    echo '<form method = "post">
    <input type = "text"
    name = "a">
    <input type = "submit"
    value = "Вывести">
    </form>';
    }


    else
    {
    echo $_POST['a'];
    }
    ?>
    </body>
    </html>

    Так все работает. Помогли одинарные кавычки и использование глобального масива $_POST.
    Получилось что я обединил форму и программу которая обрабатывает дание из формы в одном файле!!!
     
    #9153 Patronik, 21 Mar 2009
    Last edited: 21 Mar 2009
  14. still12

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

    Joined:
    18 Nov 2007
    Messages:
    74
    Likes Received:
    5
    Reputations:
    -1
    Имеется скрипт отправки сообщения на мыло.....не отправляет ...где я накасячил ?
    PHP:
     <FORM action= "?=$_SERVER['PHP_SELF']?"  METHOD=POST>
     <p>Имя <INPUT TYPE=TEXT NAME=Name SIZE=30xBR></p>
     <p>Телефон <INPUT TYPE=TEXT NAME=tel SIZE=20xBR></p>
     <p>Email <INPUT TYPE=TEXT NAME=Email SIZE=20xBR><br></p>
     <INPUT TYPE=SUBMIT NAME=SUBMIT VALUE="OK!">
     </FORM>

    <?php
    $a
    $_POST['name'] ;
    $b$_POST['tel'] ;
    $c$_POST['email'] ;

    mail("[email protected]""My Subject"" '$a'\n '$b'\n '$c'  ");
    ?> 

     
  15. DDoSька

    DDoSька Elder - Старейшина

    Joined:
    5 May 2008
    Messages:
    317
    Likes Received:
    352
    Reputations:
    18
    <p>Имя <INPUT TYPE=TEXT NAME=Name SIZE=30xBR></p>
    <p>Телефон <INPUT TYPE=TEXT NAME=tel SIZE=20xBR></p>
    <p>Email <INPUT TYPE=TEXT NAME=Email SIZE=20xBR><br></p>
    Я на 99 % уверен, что ты это сделал из книги по программированию, и там было коряво тсканированно
    <p>Имя <INPUT TYPE=TEXT NAME=Name SIZE=30xBR></p>
    <p>Имя <INPUT TYPE=TEXT NAME=Name SIZE=30><BR></p>
    НЕ xBR> , а ><BR>
    ----
    <FORM action= "<?=$_SERVER['PHP_SELF']?>" METHOD=POST>
    Кажись так
     
    #9155 DDoSька, 21 Mar 2009
    Last edited: 21 Mar 2009
  16. still12

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

    Joined:
    18 Nov 2007
    Messages:
    74
    Likes Received:
    5
    Reputations:
    -1
    Из книжки по програмирированию я не че не писал ))) lol ...
    Когда я пишу вот так с <> то браузер воспринимает это как ссылку на некий файл и пытается его загрузить ... что естественно вызывает ошибку "Страница не найдена "
     
    #9156 still12, 21 Mar 2009
    Last edited: 21 Mar 2009
  17. AkyHa_MaTaTa

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

    Joined:
    19 Mar 2007
    Messages:
    557
    Likes Received:
    306
    Reputations:
    27
    Ну как то так:
    PHP:
     <FORM action=""  METHOD=POST>
     <p>Имя <INPUT TYPE=TEXT NAME="name" SIZE="30"></p>
     <p>Телефон <INPUT TYPE=TEXT NAME="tel" SIZE=20></p>
     <p>Email <INPUT TYPE=TEXT NAME="email" SIZE=20></p>
     <INPUT TYPE=SUBMIT NAME=SUBMIT VALUE="OK!">
     </FORM>

    <?php
    $a
    = @$_POST['name'] ;
    $b= @$_POST['tel'] ;
    $c= @$_POST['email'] ;

     if(isset(
    $a,$b,$c)){
       
    $to      '[email protected]';
       
    $subject 'the subject';
       
    $message "$a\n$b\n$c";
        
    mail($to$subject$message);    
     }
    ?>
     
  18. fatalo

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

    Joined:
    15 May 2008
    Messages:
    45
    Likes Received:
    46
    Reputations:
    5
    Где можно почитать нормальный (неоффициальный) русский мануал по курлу?Желательно полностью и понятно
     
  19. 159932

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

    Joined:
    28 Sep 2007
    Messages:
    587
    Likes Received:
    462
    Reputations:
    5
    http://de2.php.net/curl - и не надо говорить что на офф плохо написано..
    http://php.su/functions/?cat=curl
     
  20. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    still12,Зачем вообще экшн там? Если экшн не указан - запрос идёт на текущую страницу...
     
Thread Status:
Not open for further replies.