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

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

Thread Status:
Not open for further replies.
  1. ~d0s~

    ~d0s~ Banned

    Joined:
    17 Apr 2010
    Messages:
    246
    Likes Received:
    257
    Reputations:
    154
    Не несите чушь, textarea сделает перенос строки, а на выходе будет пробел. nl2br вам в помощь
     
    #18121 ~d0s~, 4 Apr 2011
    Last edited: 4 Apr 2011
  2. randman

    randman Members of Antichat

    Joined:
    15 May 2010
    Messages:
    1,366
    Likes Received:
    610
    Reputations:
    1,101
    Почему ещё пробел? Перенос строки будет визуально, так же можно устанавливать определённую длинну-ширину поля.
    А в тексте перенос будет как \r\n. Если надо разделить, функция explode в помощь.
     
  3. dk-ne

    dk-ne Elder - Старейшина

    Joined:
    21 Jan 2007
    Messages:
    73
    Likes Received:
    2
    Reputations:
    0
    А можно это все визуально увидеть? Чтоб то что ушло в в БД через форму, то оттуда и вышло в итоге.
     
  4. randman

    randman Members of Antichat

    Joined:
    15 May 2010
    Messages:
    1,366
    Likes Received:
    610
    Reputations:
    1,101
    Да. PhpMyAdmin в помощь.
     
  5. dk-ne

    dk-ne Elder - Старейшина

    Joined:
    21 Jan 2007
    Messages:
    73
    Likes Received:
    2
    Reputations:
    0
    вы издеваетесь
     
  6. eclipse

    eclipse Member

    Joined:
    19 Dec 2010
    Messages:
    155
    Likes Received:
    74
    Reputations:
    85
    В текста из текстареа не будет никаких переносов, если они не были заведомо введены нажатием ENTER или ручной вставкой эскейп-последовательностей!
     
  7. -slim-

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

    Joined:
    25 May 2007
    Messages:
    99
    Likes Received:
    12
    Reputations:
    0
    есть файл a.txt
    где есть адреса типа [email protected]
    количество неизвестно

    как с этого файла записать все в таблицу?

    что было
    id 1 e-mail [email protected]
    и тд
     
  8. randman

    randman Members of Antichat

    Joined:
    15 May 2010
    Messages:
    1,366
    Likes Received:
    610
    Reputations:
    1,101
    Создаёш таблицу, открываешь файл, циклом читаешь каждую строку и записываешь её в БД. Чего сложного?
     
  9. v00d

    v00d Member

    Joined:
    11 Oct 2010
    Messages:
    34
    Likes Received:
    10
    Reputations:
    7
    2 -slim-

    sql:
    Code:
    create table mails (
    id int not null auto_increment ,
    e-mail text not null ,
    primary key (id)
    )
    php:
    PHP:
    $l mysql_connect('localhost','root','123');
    mysql_select_db('db');
    foreach(
    file('a.txt') as $v){
        
    $sql .= "(null,'".trim($v)."'),";
    }
    $q "insert into mails values ".substr($sql,0,-1);
    mysql_query($q);
    echo 
    mysql_affected_rows();
     
  10. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    Добрый день, подскажите пожалуйста почему дейтвие клик не выполняется во фрейме?
    PHP:
    <iframe name "zxc" src="0.html" >
     </
    iframe>

    <
    form name="forma" method="post" action="http://www.сайт.ru/members/movecredits.php">
    <
    table>
     <
    tr>
     <
    td><b>Передать</td>
     <
    td><input type="text" name="amt_credits" value="200" size="5" maxlength="6" class="webforms"><bкредит(ов)</td>
     </
    tr>
     <
    tr>
     <
    td><b>Пользователю #ID</td>
     
    <td><input type="text" name="rcv_user" value="31048" size="5" maxlength="6" class="webforms"></td>
     </
    tr>
     <
    tr>
     <
    td colspan=2 align=center><input type="submit" id="4" name="submit" value="Передать кредиты" class="formbutton"></td>
     </
    tr>
     </
    table>
    </
    form>
    <
    script language="JavaScript">
    window.frames['zxc'].document.getElementById('4').click() 
    </script>  
     
  11. M1ks

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

    Joined:
    23 Aug 2007
    Messages:
    140
    Likes Received:
    9
    Reputations:
    0
    Как самым простым способом вывести данные из mysql. К примеру есть таблица login, чтобы этот логин выводился в пхп.
     
  12. 0xJah

    0xJah New Member

    Joined:
    23 Feb 2011
    Messages:
    11
    Likes Received:
    0
    Reputations:
    0
    PHP:
    $user "root";
    $pass "";
    $server "localhost";
    $db "login";

    if (!
    mysql_connect($server$user$pass)) 
    {
        echo 
    mysql_errno()." ".mysql_error();
        exit;
    }

    $sql mysql_query("SELECT * FROM \"$db\"");
    for (
    $i=0$i<mysql_num_rows($sql); $i++) $arr[] = mysql_fetch_assoc($sql);
    print_r($arr);
     
  13. blud

    blud New Member

    Joined:
    29 Jan 2011
    Messages:
    22
    Likes Received:
    2
    Reputations:
    -5
    Здравствуйте. Вот такая ошибка выводится в начале документа: Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at V:\home\localhost\www\my\admin\user.php:1) in V:\home\localhost\www\my\admin\user.php on line 2. Помогите пожалуйста. Впервые с этим столкнулся.

    Вот код страницы user.php:
    PHP:
      <?php
    session_start
    ();
    // Файл отвечающий за защиту.
    include('db.php');
    $login htmlspecialchars(mysql_real_escape_string($_SESSION['admin_login']));
    $ip htmlspecialchars(mysql_real_escape_string($_SESSION['admin_ip']));
    $date htmlspecialchars(mysql_real_escape_string($_SESSION['admin_date']));
     if (empty(
    $login) || empty($ip) || empty($date)){
         echo 
    "
          <center>
            <form name=\"auth\" action=\"include/login.php\" method=\"post\">
             Логин &nbsp;&nbsp;<input name=\"login\" type=\text\">
             Пароль&nbsp;&nbsp;&nbsp;<input name=\"pass\" type=\"password\">
             <input type=\"submit\" name=\"submit\" value=\"Войти\">
           </form>
          </center>
         "
    ;
         
    $no $_GET['error'];
    if (
    $no == 'on'){
    echo 
    "Логин или пароль не верны, попробуйте еще раз.";
    }
         exit();
     }
      
    $con mysql_query("SELECT * FROM admin WHERE login='$login'") or die(mysql_error());
       
    $myrow mysql_fetch_array($con);
       if(
    $ip != $myrow['ip']){
           if (
    $date != $myrow['date']){
           echo 
    "
          <center>
            <form name=\"auth\" action=\"include/login.php\" method=\"post\">
             Логин &nbsp;&nbsp;<input name=\"login\" type=\text\">
             Пароль&nbsp;&nbsp;&nbsp;<input name=\"pass\" type=\"password\">
             <input type=\"submit\" name=\"submit\" value=\"Войти\">
           </form>
          </center>
         "
    ;
         
    $no $_GET['error'];
    if (
    $no == 'on'){
    echo 
    "Логин или пароль не верны, попробуйте еще раз.";
    }
         exit();
         }
       }

    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <title></title>
        <meta name="title" content="" />
        <meta name="keywords" content="" />
        <meta name="description" content="" />
        <link rel="stylesheet" href="style.css" type="text/css" media="screen, projection" />
    </head>

    <body>

    <div id="wrapper">

        <div id="header">
            <strong>Header:</strong> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras tortor. Praesent dictum, libero ut tempus dictum, neque eros elementum mauris, quis mollis arcu velit ac diam. Etiam neque. Quisque nec turpis. Aliquam arcu nulla, dictum et, lacinia a, mollis in, ante. Sed eu felis in elit tempor venenatis. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Ut ultricies porttitor purus. Proin non tellus at ligula fringilla tristique. Fusce vehicula quam. Curabitur vel tortor vitae pede imperdiet ultrices. Sed tortor.
        </div><!-- #header-->

        <div id="middle">

            <div id="container">
                <div id="content">
                    <?php
        
    include('db.php');
    // Функция постраничной навигации
    function makepagenav($start$count$total$range 0$link "")
    {
        if (
    $link == "") { $link $PHP_SELF."?"; }
        
    $pg_cnt ceil($total $count);
        if (
    $pg_cnt <= 1) { return ""; }
        
    $idx_back $start $count;
        
    $idx_next $start $count;
        
    $cur_page ceil(($start 1) / $count);
        
    $res "Страница ".$cur_page." из ".$pg_cnt.": ";
        if(
    $idx_back >= 0) {
            if(
    $cur_page > ($range 1)) {
                
    $res .= "<a href='".$link."rowstart=0'>1</a>...";
            }
        }
        
    $idx_fst max($cur_page $range1);
        
    $idx_lst min($cur_page $range$pg_cnt);
        if (
    $range == 0) {
            
    $idx_fst 1;
            
    $idx_lst $pg_cnt;
        }
        for (
    $i $idx_fst$i <= $idx_lst$i++) {
            
    $offset_page = ($i 1) * $count;
            if (
    $i == $cur_page) {
                
    $res .= "<span><strong>".$i."</strong></span>";
            } else {
                
    $res .= "<a href='".$link."rowstart=".$offset_page."'>".$i."</a>";
            }
        }
        if (
    $idx_next $total) {
            if (
    $cur_page < ($pg_cnt $range)) {
                
    $res .= "...<a href='".$link."rowstart=".($pg_cnt 1) * $count."'>".$pg_cnt."</a>\n";
            }
        }
        return 
    "<div>\n".$res."</div>\n";
    }

    // Выводим новости

        // Здесь идет подключение к Базе Данных или что то еще
        // ...

        // Считаем общее количество новостей
        
    $resultrows mysql_query("SELECT * FROM users");
        
    $rows mysql_num_rows($resultrows);

        
    // Пишем количество выводимый новостей на страницу, в нашем случае - 10
        
    $messages_per_page 20;

        
    // Условие: если запрос GET не существует или он не является числом, то присваеваем ему значение 0
        
    if (!isset($_GET['rowstart']) || !preg_match("/^[0-9]+$/"$_GET['rowstart'])) { $_GET['rowstart'] = 0; }

        
    // Выводим по 10 новостей на страницу, где начальной точкой отсчета будет считаться запрос GET
        
    $result mysql_query("SELECT * FROM users ORDER BY id DESC LIMIT ".$_GET['rowstart'].",".$messages_per_page."");
            while (
    $data mysql_fetch_assoc($result)) {
                echo 
    "Логин&nbsp;&nbsp;&nbsp;    ".$data['login']."<br />";
                echo 
    "Имя&nbsp;&nbsp;&nbsp;  ".$data['name']."";
                echo 
    "<HR>";
            }

        
    // Условие: если общее количество страниц больше, чем нам надо вывести (т.е. больше 10), то выводим список страниц
        
    if ($rows $messages_per_page) { echo makepagenav($_GET['rowstart'], $messages_per_page$rows3$PHP_SELF."?&amp;")."\n"; }

    ?>
                   </div><!-- #content-->
            </div><!-- #container-->

            <div class="sidebar" id="sideLeft">
                <?php include('menu.php'); ?>
            </div><!-- .sidebar#sideLeft -->

        </div><!-- #middle-->

    </div><!-- #wrapper -->

    <div id="footer">
        <strong>Footer:</strong> Mus elit Morbi mus enim lacus at quis Nam eget morbi. Et semper urna urna non at cursus dolor vestibulum neque enim. Tellus interdum at laoreet laoreet lacinia lacinia sed Quisque justo quis. Hendrerit scelerisque lorem elit orci tempor tincidunt enim Phasellus dignissim tincidunt. Nunc vel et Sed nisl Vestibulum odio montes Aliquam volutpat pellentesque. Ut pede sagittis et quis nunc gravida porttitor ligula.
    </div><!-- #footer -->

    </body>
    </html>
     
    #18133 blud, 5 Apr 2011
    Last edited: 5 Apr 2011
  14. DeepBlue7

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

    Joined:
    2 Jan 2009
    Messages:
    359
    Likes Received:
    50
    Reputations:
    12
    blud, видимо, файл гдет инклюдится... сессию надо начинать ПЕРЕД ЛЮБЫМ выводом текста :)
     
  15. blud

    blud New Member

    Joined:
    29 Jan 2011
    Messages:
    22
    Likes Received:
    2
    Reputations:
    -5
    Ну вроде бы все норм. Я сам не пониммаю просто. КОд вон сверху, вначале идет ссесия.
     
  16. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    db.php покажи
     
  17. Fepsis

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

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    blud, а скрипт "user.php" вызывается напрямую или он в свою очередь инклудится куда..?! Если инклудится, то инклудь в самом начале...
     
  18. blud

    blud New Member

    Joined:
    29 Jan 2011
    Messages:
    22
    Likes Received:
    2
    Reputations:
    -5
    PHP:
    <?php
    $db 
    mysql_connect ("localhost","my","my");
    mysql_select_db ("my",$db);
    ?>
     
  19. blud

    blud New Member

    Joined:
    29 Jan 2011
    Messages:
    22
    Likes Received:
    2
    Reputations:
    -5
    Он сам по себе в меню стоит ссылка на него, переходя по ссылке открывается файл user.php. То есть он сам по себе
     
  20. phpdreamer

    phpdreamer Member

    Joined:
    26 Jul 2009
    Messages:
    522
    Likes Received:
    86
    Reputations:
    19
    Скорее всего у вас перед <?php пустая строка, т.е. был произведён вывод контента. После вывода контента браузеру невозможно установить какие-либо заголовки. От этого и с сессией проблемы и с редиректом.

    Такая же проблема возникает когда файл в кодировке UTF-8 (если использовать utf, то должно быть UTF-8 без BOM)
     
Thread Status:
Not open for further replies.