За последние 24 часа нас посетили 19355 программистов и 1606 роботов. Сейчас ищут 886 программистов ...

Parse error: syntax error, unexpected '{'

Тема в разделе "PHP для новичков", создана пользователем Panich, 10 май 2011.

  1. Panich

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

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    <?php
    if (isset($_POST['name']))
    {
    $name = $_POST['name'];
    if ($name == '')
    {
    unset($name);
    }
    }
    if (isset($_POST['pol']))
    {
    $pol = $_POST['pol'];
    if ($pol == '')
    {
    unset($pol);
    }
    }
    if (isset($_POST['vozr_namber']))
    {
    $vozr_namber = $_POST['vozr_namber'];
    if ($vozr_namber == '')
    {
    unset($vozr_namber);
    }
    }
    if (isset($_POST['vozr_mouns']))
    {
    $vozr_mouns = $_POST['vozr_mouns'];
    if ($vozr_mouns == '')
    {
    unset($vozr_mouns);
    }
    }
    if (isset($_POST['vozr_year']))
    {
    $vozr_year = $_POST['vozr_year'];
    if ($vozr_year == '')
    {
    unset($vozr_year);
    }
    }
    if (isset($_POST['sity']))
    {
    $sity = $_POST['sity'];
    if ($sity == '')
    {
    unset($sity);
    }
    }
    if (isset($_POST['login']))
    {
    $login = $_POST['login'];
    if ($login == '')
    {
    unset($login);
    }
    }
    if (isset($_POST['pass']))
    {
    $pass = $_POST['pass'];
    if ($pass == '')
    {
    unset($pass);
    }
    }
    if (isset($_POST['pass1']))
    {
    $pass1 = $_POST['pass1'];
    if ($pass1 == '')
    {
    unset($pass1);
    }
    }
    if (isset($_POST['code']))
    {
    $code = $_POST['code'];
    if ($code == '')
    {
    unset($code);
    }
    }
    if (!empty($name) && !empty($pol) && !empty($vozr_namber) && !empty($vozr_mouns) && !empty($vozr_year) && !empty($sity) && !empty($login) && !empty($pass) && !empty($pass1) && !empty($code))
    {
    $file = fopen ("message.txt", "a+");
    fwrite ($file, $text);
    fclose ($file);
    }
    if (empty($name) && empty($pol) && empty($vozr_namber) && empty($vozr_mouns) && empty($vozr_year) && empty($sity) && empty($login) && empty($pass) && empty($pass1) && empty($code))
    {
    echo "Вы ввели не всю информацию, заполните все поля!";
    }
    if (!preg_match ("/\b[!#\$%&'\*\+\-/=\?\^_`{\|}~a-zA-Z0-9][!#\$%&'\*\+\-/=\?\^_`{\|}~a-zA-Z0-9\.]*[!#\$%&'\*\+\-/=\?\^_`{\|}~a-zA-Z0-9]@[a-zA-Z0-9\-][a-zA-Z0-9\-\.]+[a-zA-Z0-9\-]\b/g", $login)
    { //вот строка 93!!!
    exit ("Неверно введен login!");
    }
    function generate_code()
    {
    $hours = date("H");
    $minuts = substr(date("H"), 0 , 1);
    $mouns = date("m");
    $year_day = date("z");
    $str = $hours . $minuts . $mouns . $year_day;
    $str = md5(md5($str));
    $str = strrev($str);
    $str = substr($str, 3, 6);
    $array_mix = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
    srand ((float) microtime()*1000000); shuffle ($array_mix);
    return implode("", $array_mix);
    }
    function chec_code($code)
    {
    $code = trim($code);
    $array_mix = preg_split ('//', generate_code(), -1, PREG_SPLIT_NO_EMPTY);
    $m_code = preg_split ('//', $code, -1, PREG_SPLIT_NO_EMPTY);
    $result = array_intersect ($array_mix, $m_code);
    if (strlen(generate_code())!= strlen($code))
    {
    return FALSE;
    }
    if (sizeof($result) == sizeof($array_mix))
    {
    return TRUE;
    }
    else
    {
    return FALSE;
    }
    }
    if (!chec_code($_POST['code']))
    {
    exit ("Вы неверно ввели код с картинки");
    }
    $name = stripslashes($name);
    $name = htmlspecialchars($name);
    $login = stripslashes($login);
    $login = htmlspecialchars($login);
    $sity = stripslashes($sity);
    $sity = htmlspecialchars($sity);
    $pass = stripslashes($pass);
    $pass = htmlspecialchars($pass);
    $pass1 = stripslashes($pass1);
    $pass1 = htmlspecialchars($pass1);
    $login = trim($login);
    $pass = trim($pass);
    $pass1 = trim($pass1);
    if (strlen($pass) < 3 or strlen($pass) > 15)
    {
    exit ("Пароль должен состоять неменее чем из 3 символов и неболее чем из 15.");
    }
    $pass = md5($pass);
    $pass = strrev($pass);
    $pass = $pass."cR9i7Z";
    include ("bd.php");
    $result = mysql_query("SELECT id FROM users WHERE login='$login'", $db);
    $myrow = mysql_fetch_array($result);
    if (!empty($myrow['id']))
    {
    exit ("Извините, введённый вами логин уже зарегистрирован. Введите другие данные.");
    }
    $result2 = mysql_query ("INSERT INTO users (name,pol,vozr_namber,vozr_mouns,vozr_year,sity,login,pass)VALUES('$name','$pol','$vozr_namber','$vozr_mouns','$vozr_year','$sity','$login','$pass')");
    if ($result2 == 'TRUE')
    {
    echo "<html>
    <head>
    <meta http-equiv='Refresh' content='1'; URL='../index.php'>
    </head>
    <body>
    </body>
    </html>";
    }
    else
    {
    exit ("Ошибка! Вы не зарегистрированы.Обратитесь в службу поддержки по адресу bvstrechi@list.ru");
    }
    ?>


    САМА ОШИБКА:
    Parse error: syntax error, unexpected '{' in Z:\home\localhost\www\znakomstva\php\save_user.php on line 93
    Вроде фигурная скоба в тему,но код её отпихивает...(((Может кто подскажет с чём у меня проблема в коде?
     
  2. memba

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

    С нами с:
    30 апр 2011
    Сообщения:
    11
    Симпатии:
    0
    Адрес:
    Россия
    Вам бы оптимизировать как-то код, а то слишком много условий.

    Код (Text):
    1. if (!preg_match ("/\b[!#\$%&'\*\+\-/=\?\^_`{\|}~a-zA-Z0-9][!#\$%&'\*\+\-/=\?\^_`{\|}~a-zA-Z0-9\.]*[!#\$%&'\*\+\-/=\?\^_`{\|}~a-zA-Z0-9]@[a-zA-Z0-9\-][a-zA-Z0-9\-\.]+[a-zA-Z0-9\-]\b/g", $login)
    Не хватает в конце круглой скобки.

    должно быть так ... $login))
     
  3. Panich

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

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Как всегда скобки решают ВСЁ!!!)))
    Вот только теперь в том же месте ошибка:
    Вы ввели не всю информацию, заполните все поля!
    Warning: preg_match() [function.preg-match]: Unknown modifier '=' in Z:\home\localhost\www\znakomstva\php\save_user.php on line 94
    Неверно введен login!


    Вот что подумал:может всему виной файл:
    $(document).ready(function(){
    //работа с полем ввода логина(Emeil)-не работает!!!Почему?
    var regV=/\b[!#\$%&'\*\+\-/=\?\^_`{\|}~a-zA-Z0-9][!#\$%&'\*\+\-/=\?\^_`{\|}~a-zA-Z0-9\.]*[!#\$%&'\*\+\-/=\?\^_`{\|}~a-zA-Z0-9]@[a-zA-Z0-9\-][a-zA-Z0-9\-\.]+[a-zA-Z0-9\-]\b/g;
    var myEmail = $('#email');
    myEmail.focus(function(){
    if ($(this).val() == $(this).attr('defaultValue')){
    $(this).val('');
    }
    });
    myEmail.blur(function(){
    var userEmail = $(this).val();
    if(userEmail ==''){
    $(this).val($this).attr('defaultValue').css('border','1px solid #cccccc');
    }
    else if(userEmail.search(regV) == -1){
    $(this).css('border','1px solid #cc0000');
    }
    else{
    $(this).css('border','1px solid #00cc00');
    }
    });
    $('#my_button').click(function(){
    $(this).attr('disabled','disabled');
    $(this).attr('value','Отправляю...');
    });
    });


    Вот при обращению к файлу testreg.php (естественно отвечает за тестирование при регистрации) выдаёт ошибку:
    Warning: () [function.preg-match]: Unknown modifier '^' in Z:\home\localhost\www\znakomstva\php\testreg.php on line 25
    Неверно введен login!
    25-я строка это всё то же обращение к функции preg_match!!!
    В-О-О-О-О-О-ОТ ТАКАЯ ПРОБЛЕМКА)))
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Panich
    хватит ставить восклицательные знаки и писать большими буквами. тебе что, 12 лет?
     
  5. Panich

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

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Лучше бы по делу ответили что-нибудь.

    Кого раздрожаю-исправляюсь(постараюсь контролировать впредь свои эмоции)!
    Но вопрос остаётся всё тот же.
     
  6. Panich

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

    С нами с:
    10 май 2011
    Сообщения:
    548
    Симпатии:
    0
    Адрес:
    Ростов-Москва
    Всё получилось-народ с другого форума помог!
    Нужно было более качественно переработать регулярное выражение-всё на много проще чем казалось!
    Всем спасибо!
     
  7. Invision

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

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    А что кто то отменял switch case?)

    Это жестко, напиши простую функцию и обрабатывай в ней на все подряд :)

    Это меня вообще блин добило заюзай header Location.

    Вообщем спасибо за то что поднял вечером настроение :) Говнокод вперед )
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Invision
    ты крутой, да? :D
     
  9. Invision

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

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    А ты?:) Да я хоть чуток научился функции собирать с классами вот и пальцы теперь веером, ничего, пройдет скоро :D