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

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

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

    .::BARS::. Elder - Старейшина

    Joined:
    13 Oct 2007
    Messages:
    379
    Likes Received:
    45
    Reputations:
    10
    PHP:
    $p="320x200";
    $q=explode('x'$p);
    $w=$q[0];
    $h=$q[1];
    =)))
     
  2. azsx

    azsx New Member

    Joined:
    12 Sep 2009
    Messages:
    48
    Likes Received:
    2
    Reputations:
    0
    Не правильно сохраняется кодировка utf8!
    У меня есть сохраненный проект из программы allsubmitter. Я хочу считать его php скриптом и поменяв там некоторые значения записать в другой файл.
    Code:
    <?PHP
    $fldann = file_get_contents('111.projectsxml');
    $fldann2 = str_replace ("слон", "СЛОН", $fldann);
    file_put_contents('222.projectsxml', utf8_encode($fldann2)
    );
    ?>
    
    Все считывается и записывается хорошо, только файл 222.projectsxml сохраняет в какой то другой кодировке. В итоге программа allsubmitter его либо не открывает, либо открывает кракозяблами.
    Даже не знаю что делать...
    чтобы не создавать залил все три файла на народ в архиве.
    http://narod.ru/disk/13189260000/www.zip.html
    Подскажите пожалуйста кто знает.
     
  3. .::BARS::.

    .::BARS::. Elder - Старейшина

    Joined:
    13 Oct 2007
    Messages:
    379
    Likes Received:
    45
    Reputations:
    10
    попробуй через iconv();
     
  4. azsx

    azsx New Member

    Joined:
    12 Sep 2009
    Messages:
    48
    Likes Received:
    2
    Reputations:
    0
    Спасибо попробовал, теперь у меня так:
    Code:
    <?PHP
    $fldann = file_get_contents('111.projectsxml');
    $fldann2 = str_replace ("слон", "СЛОН", $fldann);
    $fldann3 = iconv("ISO-8859-1","UTF-8", $fldann2);
    file_put_contents('222.projectsxml', $fldann3);
    ?>
    Может вопрос в другом, я вообще не могу понять в какую кодировку преобразуется строка после команды str_replace.
    Если открывать файл в текстовом редакторе то он показывает utf8 но открывает 222 - уже кракозяблами.
     
  5. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Сохрани файл index.php в кодировке UTF-8 без BOM, тогда должно корректно заменять.
     
  6. azsx

    azsx New Member

    Joined:
    12 Sep 2009
    Messages:
    48
    Likes Received:
    2
    Reputations:
    0
    d_x - спасибо
     
  7. 2Fed123

    2Fed123 Banned

    Joined:
    26 Feb 2009
    Messages:
    56
    Likes Received:
    5
    Reputations:
    0
    Как осуществить через пхп такую весчь-допустим есть сайт(site.com),я хочу узнать есть ли на нем директория admin и ссылки типа index.php?id=1.
    И вот еще
    PHP:
    <?
    $dir=fopen("base.txt",r);
    if (
    $dir)
    echo 
    "Файл открыт";
    else 
    echo 
    "Файл неоткрыт";
    $testpointer=@fopen("http://www.ya.ru/",r);
    if(
    $testpointer)
    echo(
    "<br>works!!!");
    else
    echo(
    "<br>suxx :(");
    ?>
    как сделать чтобы к http://www.ya.ru/ добавлялись строки из файла base.txt.Он содержит
    Code:
    robots.txt
    .htaccess
    .htconfig
    .htpasswd
    _adm/
     
  8. Gaus

    Gaus Member

    Joined:
    8 Feb 2009
    Messages:
    136
    Likes Received:
    36
    Reputations:
    3
    PHP:
    $file file('base.txt');
    foreach(
    $file as $line)
    {
        echo 
    'http://www.ya.ru/'.$line.'<br>';
    }
     
  9. .:[melkiy]:.

    .:[melkiy]:. Elder - Старейшина

    Joined:
    25 Jan 2009
    Messages:
    355
    Likes Received:
    314
    Reputations:
    163
    Не могу понять почему не добавляются данные в бд :(

    форма:

    PHP:
    <form name="form1" method="post" action="add_news.php">
                <
    p>
                  <
    label>Название новости:<br>
                <
    input type="text" name="title" id="title">
                </
    label>
                </
    p>
                <
    p>
                  <
    label>Основной текст новости:<br>
                  <
    textarea name="text" id="text" cols="45" rows="5"></textarea>
                  </
    label>
                </
    p>
                <
    p>
                  <
    label>Краткое описание:<br>
                  <
    textarea name="desc" id="desc" cols="45" rows="5"></textarea>
                  </
    label>
                </
    p>
                <
    p>
                  <
    label>Автор:<br>
                  <
    input type="text" name="avtor" id="avtor">
                  </
    label>
                </
    p>
                <
    p>
                  <
    label>Дата:<br>
                  <
    input name="date" type="text" id="date" value="0000-00-00">
                  </
    label>
                </
    p>
                <
    p>
                  <
    input type="submit">
                </
    p>
    add_news.php

    PHP:
    <?php 
    include ("includes/config.php");
    ?>
    ....
    <?  
    $result = mysql_query ("insert into news (title,text,desc,avtor,date) values ('$title', '$text', '$desc', '$avtor', '$date')");
    if ($result == true) { echo "Добавлено!"; }
    else { echo "<p>Смотри код...</p>"; }
    ?>

    Спасибо
     
  10. FireFenix

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

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    переменные $title, $text, $desc, $avtor, $date из воздуха беруться? или из $_POST присваиваются? как присваиваются - в студию!
    И естесно текст ошибки тоже в студию... ибо телепаты ещё не вернулись из летнего отпуска!
     
  11. .:[melkiy]:.

    .:[melkiy]:. Elder - Старейшина

    Joined:
    25 Jan 2009
    Messages:
    355
    Likes Received:
    314
    Reputations:
    163
    ошибки никакой нету, данные просто не добавляются...
     
  12. Gray_Wolf

    Gray_Wolf Active Member

    Joined:
    7 Mar 2009
    Messages:
    377
    Likes Received:
    135
    Reputations:
    10
    Code:
    $result = mysql_query ("insert into news (title,text,desc,avtor,date) values ('$title', '$text', '$desc', '$avtor', '$date')"); 
    Используйте нормальную конкатенацию, ибо это бред.
    Code:
    echo "('$title', '$text', '$desc', '$avtor', '$date')";
    Всё верно выводит?
     
  13. Kusto

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

    Joined:
    4 Feb 2007
    Messages:
    886
    Likes Received:
    678
    Reputations:
    510
    пробовал так например
    $title = $_POST['title'];
    $text = $_POST['text'];
    .
    .
    .
    и т д, я что то невижу откуда беруться эти переменные
     
  14. .:[melkiy]:.

    .:[melkiy]:. Elder - Старейшина

    Joined:
    25 Jan 2009
    Messages:
    355
    Likes Received:
    314
    Reputations:
    163
    с формы

    да
     
  15. Kusto

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

    Joined:
    4 Feb 2007
    Messages:
    886
    Likes Received:
    678
    Reputations:
    510
    блин наверное это бред но осмелюсь предположить что права на запись невыставленны))) (777)
     
    1 person likes this.
  16. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Полный бред...

    .:[melkiy]:. , замени строчку
    PHP:
    $result mysql_query ("insert into news (title,text,desc,avtor,date) values ('$title', '$text', '$desc', '$avtor', '$date')");
    на
    PHP:
    $result mysql_query ("insert into news (title,text,desc,avtor,date) values ('$title', '$text', '$desc', '$avtor', '$date')") or die(mysql_error());
    И все сразу же станет на свои места :) После исправления ошибки, конечно.
     
  17. .:[melkiy]:.

    .:[melkiy]:. Elder - Старейшина

    Joined:
    25 Jan 2009
    Messages:
    355
    Likes Received:
    314
    Reputations:
    163
    Code:
    You have an error in your SQL syntax near 'desc,avtor,date) values ('2009-09-16', 'avtor', 'desc', 'avtor', '2009-09-16')' at line 1
    судя по ошибке неправильно подставляет значения... :(
     
  18. Gray_Wolf

    Gray_Wolf Active Member

    Joined:
    7 Mar 2009
    Messages:
    377
    Likes Received:
    135
    Reputations:
    10
    ну тогда
    $q="insert into news (title,text,desc,avtor,date) values ('$title', '$text', '$desc', '$avtor', '$date')";
    echo $q;

    Вставляем этот запрос через PHPMyAdmin и тестируем...
     
  19. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Все ясно :)
    Поле desc переименуй на description или на что-то другое :). Т.к. DESC используется mysql базой для вывода информации из базы по убыванию.
     
    1 person likes this.
  20. .:[melkiy]:.

    .:[melkiy]:. Elder - Старейшина

    Joined:
    25 Jan 2009
    Messages:
    355
    Likes Received:
    314
    Reputations:
    163
    спс, пашет! но и так тоже пашет...

    PHP:
    <?  
    $result mysql_query ("insert into `news` (`title`,`text`,`desc`,`avtor`,`date`) values ('$title', '$text', '$desc', '$avtor', '$date')") or die(mysql_error()); 
    if (
    $result == true) {echo "good";}
    else { echo 
    "false"; }
    ?>
    хотя с description удобней
     
    4 people like this.
Thread Status:
Not open for further replies.