За последние 24 часа нас посетили 17186 программистов и 1651 робот. Сейчас ищут 1139 программистов ...

Помогите понять в версии ли php дело.

Тема в разделе "Прочие вопросы по PHP", создана пользователем mirbag, 23 окт 2014.

  1. mirbag

    mirbag Новичок

    С нами с:
    23 окт 2014
    Сообщения:
    2
    Симпатии:
    0
    Краткая предистория
    Попросили подправить прогу на пхп. Скачал базу, все перенес на локальную машину. Но не тут то было. Заглядываю в index.php а там первая строка....
    Код (Text):
    1. <? error_reporting(0);
    Естественно мой пхп не понял, что это начало скрипта пхп. Версия на серваке - PHP Version 5.3.27
    У меня 5.4.12. В єтом дело, либо есть какие-то настройки, что б понимало начало пхп-ного скрипта - <?, а не <?php

    Кроме того, есть файл config.php где и подключается база данных mysql.
    Код (Text):
    1. $link = mysql_connect($serv_host, $serv_user , $serv_pass);
    2. mysql_select_db($serv_base);
    А функции имеют такой вид
    Код (Text):
    1.  function check_user($uid) {
    2.      $result = mysql_query("SELECT `sid` FROM `".USERS_TABLE."` WHERE `uid`='$uid';") or die(mysql_error());
    3.      $sid = mysql_result($result,0);
    4.      return $sid==SID ? true : false;
    5.  }
    Т.е. без коннекта к базе. Насколько я помню у меня так не получалось. Писал типа не вібрана база mysql. Тоже есть какая-то настройка?

    Сори если непонятно описал. Заранее спасибо
     
  2. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    В принципе есть, но лучше все переделать.
     
  3. mirbag

    mirbag Новичок

    С нами с:
    23 окт 2014
    Сообщения:
    2
    Симпатии:
    0
    Не подскажите где. И <?php будет понимать? Потому что много файлов, a автозаменой не переделать, т.к. есть и такие строки
    Код (Text):
    1. <input name="f" type="hidden" value="<?= $_REQUEST['f']; ?>" >
    2. <?php
    3. print ......
     
  4. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Можно включить шорттаги. Всё будет работать.
     
  5. rognorog

    rognorog Новичок

    С нами с:
    7 июл 2014
    Сообщения:
    330
    Симпатии:
    0
    mysql - объявлен " Deprecated ", в новых версиях его потом уже не будет, не нужно его использовать больше.
    Используйте mysqli
    На счет тегов php, советую использовать:
    <?php
    В новых версиях еще по умолчанию стоит конструкция " <?=''?> " - это <?php echo''; ?>.
    А теги <? отключены и объявлены " Deprecated ".
    <?php Закрывающий тег " ?> " - может быть не обязателен, если у нас файл только php и нет гипертекста и лучше будет не писать.
     
  6. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    можно пруф?
     
  7. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    стандарт кодирования например обязывает использовать только полные версии тегов. чтоб не было пересечения с XML и проблем с хостами на которых sot отключен.

    в новых версиях <?=?> трактуется как <?php echo; ?> вместо <? echo; ?> что ранее подпадало под правила sot.

    что-то не видел таких нотисов.

    особенно если мы пишем код который на старых версиях должен не запускатсья а сыпаться "неожиданным концом файла"
     
  8. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Они не депрекатед. Они по дефолту отключены в новых версиях, но при этом <?= работает. До депрекатед им еще плыть и плыть. В седьмой версии пхп что будет - не знаю, но в пятой явно не будут полностью выпилены, ибо всё всех устраивает.