За последние 24 часа нас посетили 18487 программистов и 1674 робота. Сейчас ищут 903 программиста ...

Превозмогания тред

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

  1. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Всё правильно вывел. Пока ты будешь тыкать пальцем в небо - он всегда будет выводить правильно. Для себя правильно. А если ты хочешь чтоб для тебя это было правильно - ты должен научиться в голову не только кушать.
    --- Добавлено ---
    запрошенные данные вообще-то были доступны в тексте ошибки. Дальше немного магии работы головного мозга и один из вариантов решения. Я бы делал иначе, но тебе без разницы - всё равно работать не будет из-за прослойки между стулом и монитором.
     
    ubunta2 нравится это.
  2. Maputo

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

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    @ubunta2, при использовании относительного пути к файлу в php производится поиск файла в директориях, указаных в include_path. У Вас их там три штуки, отделенные символом ";". К этим директориям добавляется относительный путь к файлу (указанный в require, например) и по полученному пути проверяется наличие файла. Еслиб Вы указали абсолютный путь к файлу (начинающийся с диска E в Вашем случае), то местоположение файла Debug.php не имело бы значения.
     
    ubunta2 нравится это.
  3. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    PHP:
    1. <?php
    2. $mysqli = new mysqli("localhost", "root", "", "mybase");
    3. $mysqli->query("SET NAMES 'utf8'");
    4. $mysqli->query("CREATE DATABASE `temp`");
    5. $mysqli->query("CREATE TABLE `temp`. `cities` (`id` INT(11) UNSIGNET NOT NULL AUTO_INCREMENT PRIMARY KEY, `title` VARCHAR (255) character set utf8 collate utf8_general_ci NOT NULL) ENGINF=MYSAM CHARACTER SET utf8 COLLATE utf8_general_ci");
    6. $mysqli->close();
    7.  
    8. ?>
     
  4. Сереганек

    Сереганек Активный пользователь

    С нами с:
    18 янв 2017
    Сообщения:
    333
    Симпатии:
    27
    какой текст ошибки?
     
  5. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    ошибки нет, таблица вообще поидее должна создаться в базе
     
  6. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    не очень понятно
     
  7. Сереганек

    Сереганек Активный пользователь

    С нами с:
    18 янв 2017
    Сообщения:
    333
    Симпатии:
    27
    Ну так усложняй по очереди.
    Создай таблицу в БД вручную, а через запрос попробуй ее дропнуть:
    Код (Text):
    1. DROP TABLE `mytable`;
    Если норм, значит коннект к БД есть.
    Затем попробуй запрос на CREATE. Если в этот раз не сработает, значит ошибка здесь. Попробуй ее локализовать.
     
  8. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    какую проверку ты проводишь ПЕРЕД тем как нам тут такое однозначное суждение заявить?
     
    ubunta2 нравится это.
  9. Сереганек

    Сереганек Активный пользователь

    С нами с:
    18 янв 2017
    Сообщения:
    333
    Симпатии:
    27
    или для начала хотя бы посмотри что возвращает var_dump
     
  10. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    что именно не понятно? зачем ты программированием занялся не понятно?
     
    ubunta2 нравится это.
  11. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @Сереганек, ходят слухи, что он не умеет отладку делать. Вот эту твою рекомендацию посмотреть вардамп он никуда не сумеет приладить. Вообще.
     
    ubunta2 нравится это.
  12. Сереганек

    Сереганек Активный пользователь

    С нами с:
    18 янв 2017
    Сообщения:
    333
    Симпатии:
    27
  13. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    PHP:
    1. -- phpMyAdmin SQL Dump
    2. -- version 4.6.5.2
    3. -- https://www.phpmyadmin.net/
    4. --
    5. -- Хост: 127.0.0.1:3306
    6. -- Время создания: Авг 06 2017 г., 21:14
    7. -- Версия сервера: 5.5.53
    8. -- Версия PHP: 7.0.14
    9.  
    10. SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
    11. SET time_zone = "+00:00";
    12.  
    13.  
    14. /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    15. /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    16. /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    17. /*!40101 SET NAMES utf8mb4 */;
    18.  
    19. --
    20. -- База данных: `temp`
    21. --
    22.  
    23. -- --------------------------------------------------------
    24.  
    25. --
    26. -- Структура таблицы `cities`
    27. --
    28.  
    29. CREATE TABLE `cities` (
    30.   `id` int(11) UNSIGNED NOT NULL,
    31.   `title` varchar(255) NOT NULL
    32. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    33.  
    34. --
    35. -- Индексы сохранённых таблиц
    36. --
    37.  
    38. --
    39. -- Индексы таблицы `cities`
    40. --
    41. ALTER TABLE `cities`
    42.   ADD PRIMARY KEY (`id`);
    43.  
    44. --
    45. -- AUTO_INCREMENT для сохранённых таблиц
    46. --
    47.  
    48. --
    49. -- AUTO_INCREMENT для таблицы `cities`
    50. --
    51. ALTER TABLE `cities`
    52.   MODIFY `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;
    53. /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    54. /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    55. /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
    вручную. создал, но при написании кода пока непонятно
     
  14. Maputo

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

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    @ubunta2
    Вот это: "File/Logger.php" - относительный путь. Он задается относительно какой-либо директории.
    Для того чтобы загрузить файл нужен абсолютный путь (от корневой директории файловой системы), а точнее это называется полным именем файла.

    В браузере в адресной строке вводится: "http://vasya.ru/index.php"
    Файл index.php на сервере имеет полное имя (абсолютный путь): "e:\openserver\vasya\index.php" (например)
    Он находится в директории "e:\openserver\vasya\" - эта директория и есть "директория точки входа" для всех скриптов, запускаемых из index.php (при помощи require или include). В include_path она обозначена ".".
    Если в индексном файле написать require "File/Logger.php", то наличие этого файла будет проверяться относительно всех директорий, указаных в include_path. Сначала относительно "точки входа", а потом еще двух директорий.
    Относительно "точки входа" абсолютный путь к файлу будет выглядеть вот так:
    "e:\openserver\vasya\" + "File\Logger.php"

    В книге у Вас скорее всего скрипт запускается из корневой директории сайта (например index.php), потом подцепляется файл Debug.php. И из него уже директива require с указанным относительным путем без ошибок находит файл относительно точки входа (index.php).
     
    ubunta2 нравится это.
  15. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    Спасибо.
    Немного разобрался
     
  16. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  17. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    Спасибо. Немного разобрался.
     
  18. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    все нашел ошибку
     
    denis01 нравится это.
  19. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    PHP:
    1. <?php ## Использование анонимных классов
    2.  class Dumper
    3.   {
    4.     public static function print($obj)
    5.     {
    6.       print_r($obj);
    7.     }
    8.   }
    9.  
    10.   Dumper::print( new class {
    11.     public $title;
    12.     public function __construct(){
    13.       $this->title = "Hello world!";
    14.     }
    15.   });
    16. ?>
    появилось class@anonymous Object ( [title] => Hello world! )
     
  20. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Что непонятного? анонимный класс, поэтому вместо имени class@anonymous. Конструктор выполнился, поэтому title имеет заданное в нём значение. Логика у тебя вообще отдыхает, что-ли? Анонимные классы - новая фитча php 7
     
  21. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    в книге не написано, что будет так создаваться. Не описана логика вывода.
     
  22. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Ты обязан был до неё сам додуматься.
     
    mkramer и ubunta2 нравится это.
  23. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    И что, до этого нигде не описано, что делает print_r ?
     
  24. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    @ непонятна логика вывода, например.
     
  25. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    в мануале что написано?
     
    ubunta2 нравится это.