За последние 24 часа нас посетили 18144 программиста и 1697 роботов. Сейчас ищут 1535 программистов ...

FAQ: Частые вопросы о PHP от новичков.

Тема в разделе "PHP для новичков", создана пользователем Anonymous, 30 июл 2007.

Статус темы:
Закрыта.
  1. manfi

    manfi Активный пользователь

    С нами с:
    30 окт 2009
    Сообщения:
    2
    Симпатии:
    0
    ничего не выводится в заголовок больше
    "чистый" php-документ
     
  2. elias89

    elias89 Активный пользователь

    С нами с:
    10 ноя 2009
    Сообщения:
    9
    Симпатии:
    0
    Ребят подскажите плиз в чём ошибочка?

    $db = mysql_pconnect("localhost", "root", "123");
    mysql_select_db('users',$db);
    $Query = mysql_query("INSERT INTO data (fname, lname, email, sex, birth, pass) VALUES (
    "$_SESSION['fname']", "$_SESSION['lname']", "$_SESSION['email']", "$_SESSION['sex']", "$_SESSION['birth']", "$_SESSION['pass']" ) ");


    Parse error: syntax error, unexpected T_VARIABLE in C:\Program Files\Apache Group\Apache2\htdocs\bin\index.php on line 109
     
  3. elias89

    elias89 Активный пользователь

    С нами с:
    10 ноя 2009
    Сообщения:
    9
    Симпатии:
    0
    mistake

    Ребят подскажите плиз в чём ошибочка?

    $db = mysql_pconnect("localhost", "root", "123");
    mysql_select_db('users',$db);
    $Query = mysql_query("INSERT INTO data (fname, lname, email, sex, birth, pass) VALUES (
    "$_SESSION['fname']", "$_SESSION['lname']", "$_SESSION['email']", "$_SESSION['sex']", "$_SESSION['birth']", "$_SESSION['pass']" ) ");


    Parse error: syntax error, unexpected T_VARIABLE in C:\Program Files\Apache Group\Apache2\htdocs\bin\index.php on line 109
     
  4. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    elias89
    присвой переменные из сессии в обычные переменные например $birth=$_SESSION['birth'] и уже их вставляй в запрос
     
  5. elias89

    elias89 Активный пользователь

    С нами с:
    10 ноя 2009
    Сообщения:
    9
    Симпатии:
    0
  6. elias89

    elias89 Активный пользователь

    С нами с:
    10 ноя 2009
    Сообщения:
    9
    Симпатии:
    0
    ещё такой вопросик, если я собираюсь хранить ХЭШ пароля в базе данных, откуда узнать скока отводить под запись в
    таблице??? $_SESSION['pass'] = $pass = md5($_POST['pass']);
     
  7. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    elias89
    этого я не знаю,попробуй просто тупо поставить тип text и совсем не указывать максимальный размер
     
  8. elias89

    elias89 Активный пользователь

    С нами с:
    10 ноя 2009
    Сообщения:
    9
    Симпатии:
    0
    Padaboo, большое спасибо
     
  9. karakh

    karakh Активный пользователь

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    1. Хеш md5 это 32 байта.
    2. в столбце VARCHAR сохраняется столько знаков, сколько необходимо (но не больше указанного), плюс один байт для записи длины. То есть если ты объявляешь varchar 128 и хранишь там 32 байта, то займет это 33 байта, а не выделит 128
     
  10. elias89

    elias89 Активный пользователь

    С нами с:
    10 ноя 2009
    Сообщения:
    9
    Симпатии:
    0
    проблема c сессией

    Уважаемые товарищи, если не трудно, посмотрите в чём может быть проблема((
    <?php
    session_start(); //LINE 13
    define('INCLUDE_CHECK',1);
    require "functions.php";
    ?>

    ...... потом идёт кусок кода с формой и тп.

    <?php

    $fname = $_SESSION['fname'];
    $lname = $_SESSION['lname'];
    $email = $_SESSION['email'];
    $sex = $_SESSION['sex'];
    $birth = $_SESSION['birth'];
    $pass = $_SESSION['pass'];

    $db = mysql_pconnect("localhost", "root", "123");
    mysql_select_db('users',$db);
    $Query = "INSERT INTO data (fname, lname, email, sex, birth, pass) VALUES (
    '{$fname}', '{$lname}', '{$email}', '{$sex}', '{$birth}', '{$pass}' ) ";
    mysql_query($Query);

    //.......
    unset($_SESSION['fname'], $_SESSION['lname'], $_SESSION['email'], $_SESSION['sex'], $_SESSION['birth'], $_SESSION['pass']);
    session_destroy();
    ?>


    вооот Возникает ошибочка: Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Program Files\Apache Group\Apache2\htdocs\bin\index.php:12) in C:\Program Files\Apache Group\Apache2\htdocs\bin\index.php on line 13

    Помогите чем смогите))
    [/php]
     
  11. amen

    amen Активный пользователь

    С нами с:
    18 сен 2009
    Сообщения:
    298
    Симпатии:
    0
    Адрес:
    Узбекистан
    elias89, читайте FAQ по сессиям - http://phpfaq.ru/sessions. И конкретно по вашей ошибке - http://phpfaq.ru/all#headers
    Если короче - никакого вывода на экран до объявления сессии. [/url]
     
  12. elias89

    elias89 Активный пользователь

    С нами с:
    10 ноя 2009
    Сообщения:
    9
    Симпатии:
    0
    решено

    Спасибо, всё решилось
     
  13. elias89

    elias89 Активный пользователь

    С нами с:
    10 ноя 2009
    Сообщения:
    9
    Симпатии:
    0
    Проблема с занесением в БД MySQL

    Уважаемые Гуру. У меня тупняк, помогите пож -ста. Данные с формы отправляются Все КРОМЕ fname, lname, email.
    Подскажите чё может быть?? По логике все они по одинаковому у меня обрабатываются, но логики почему не попадают в таблицу не понимаю(((

    Вот кусок скрипта:

    $fname = mysql_real_escape_string($_POST['fname']);
    $fname = substr($fname,0,10);
    $lname = mysql_real_escape_string($_POST['lname']);
    $lname = substr($lname,0,10); //savin in session
    $email = mysql_real_escape_string($_POST['email']);
    $email = substr($email,0,20);
    $pass = md5($_POST['pass']); //savin hash
    $sex = $_POST['sex-select'];
    $birth = sprintf("%d-%02d-%02d 00:00:00", $_POST['year'], $_POST['month'], $_POST['day']);
    $db = mysql_pconnect("localhost", "root", "123");
    mysql_select_db('users',$db);
    $Query = "INSERT INTO data (fname, lname, email, sex, birth, pass) VALUES (
    '{$fname}', '{$lname}', '{$email}', '{$sex}', '{$birth}', '{$pass}' ) ";
    mysql_query($Query);
     
  14. elias89

    elias89 Активный пользователь

    С нами с:
    10 ноя 2009
    Сообщения:
    9
    Симпатии:
    0
    Проблема Решена

    решена
     
  15. nikki4

    nikki4 Активный пользователь

    С нами с:
    31 окт 2009
    Сообщения:
    10
    Симпатии:
    0
    а как использовать preg_replace ?
    вообщем как сделать чтобы если первая буква "е" , то заменить на "э"?
    заранее спасибо..
     
  16. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    PHP:
    1. <?php
    2.  
    3. $text = "Егоист";
    4.  
    5. // Заменяем ...
    6. if($text[0] === chr(229)) {
    7.     $text[0] = "э";
    8. } elseif($text[0] === chr(197)) {
    9.     $text[0] = "Э";
    10. }
    11.  
    12. // Смотрим ..
    13. echo $text;
    14.  
    15. ?>
     
  17. nikki4

    nikki4 Активный пользователь

    С нами с:
    31 окт 2009
    Сообщения:
    10
    Симпатии:
    0
    не работает.. пишет
    Егоист
    как и было
     
  18. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Кодировку проверь
     
  19. karakh

    karakh Активный пользователь

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    А почему if($text[0] === chr(229)), а не просто if($text[0] == "E") ?
     
  20. sk8r84

    sk8r84 Активный пользователь

    С нами с:
    16 ноя 2009
    Сообщения:
    2
    Симпатии:
    0
    Адрес:
    Тольятти
    Здравствуйте, я не до конца разобрался с регулярными выражениями. Мне нужно выбрать все элементы соответствующие шаблону и записать их в массив для последующей работы с ними. Для этого я использую функцию ereg()
    Код (Text):
    1.  
    2. <?php
    3.  
    4. $file=file_get_contents('http://www.youtube.com/results?search_query=bicycle&search_type=&aq=f');
    5.  
    6. ereg('watch\?v\=...........', $file, $regs);
    7.  
    8. echo $regs[0], "&nbsp;", $regs[1];
    9.  
    10. ?>
    Функция находит первый элемент поиска записывает его в $regs[0], а остальные элементы массива остаются пустыми, несмотря на то что подобных элементов на страничке много. Мне кажется что-то не так с регулярным выражением, помогите разобраться пожалуйста :)
     
  21. amen

    amen Активный пользователь

    С нами с:
    18 сен 2009
    Сообщения:
    298
    Симпатии:
    0
    Адрес:
    Узбекистан
    Помогите разобраться в нескольких вопросах.
    Что такое CGI простым языком? Читаю читаю, а сути не улавливаю - это типа закулисная технология, принцип общения браузера с сервером, в который можно особо не вникать или CGI что-то вроде языка программирования и его тоже нужно учить? Для чего нужны папки cgi-bin и cgi-glob?

    И несколько вопросов по библиотекам функций. Вопрос всем - вы используете PEAR или другие сторонние библиотеки или может юзаете свою(свои), посоянно её дополняя?
    СтОит ли уже на начальном этапе изучения РНР начинать писать свою библиотеку? В каждом ли проекте стоит использовать библиотеки? Какая принципиальная разница между библиотекой и шаблонами?

    Заранее спасибо.
     
  22. Tmin10

    Tmin10 Активный пользователь

    С нами с:
    21 ноя 2009
    Сообщения:
    20
    Симпатии:
    0
    Подскажите пожалуйста функции для работы со строками.
    Мне нужно, например, заменить слово вася на vasya.
     
  23. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Жуть.
    http://php.net закрыли?
     
  24. Tmin10

    Tmin10 Активный пользователь

    С нами с:
    21 ноя 2009
    Сообщения:
    20
    Симпатии:
    0
    там всё по английски((
     
  25. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
Статус темы:
Закрыта.