Jump to content
  • 0

Проблемы при самообучении по php (книга Р.Никсона)


sundeath
 Share

Question

Добрый день.

Возникли проблимы во время практики при самообучении по книге Робина Никсона - Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5. 3-е изд - 2015.

На странице 173 (Изучение PHP > создание файла) требуется ввести код для создания файла и проверить в браузере результат.

Ввожу следующий код в sublime text:

<?php
$fh
= fopen("testfile.txt", 'w') or die("Создать файл не удалось");

$text = <<<_END
Строка 1
Строка 2
Строка 3
_END;
fwrite($fh, $text) or die("Сбой записи файла");
fclose($fh);
echo "Файл 'testfile.txt' записан успешно";

 

Затем сохраняю файл под именем testfile.txt и testfile.php, открываю в браузере, но ничего не просиходит.

Тоже самое и при вводе других примеров (функции print итд. - отображается какая-то билиберда в окне браузере). Что и как вводить - в учебнике не написано.

Что я делаю не так? Может быть, сначала нужно создать разметку html5 стандартную, вставить туда php-код и уже этот html-файл открывать в браузере?

В книге ничего об этом не говорится, вначале только пара слов о включении php в html и об утсановке локального сервера XAMPP.

Нужна Ваша помощь, чтобы двигаться дальше по книге.

Спасибо.

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0
$text = <<<_ENDСтрока 1Строка 2Строка 3_END;

Данную строку нужно скорее всего исправить на

$text = "<<<_ENDСтрока 1Строка 2Строка 3_END";

все остальное выглядит норм со стороны

 

приведенный вами код нужно сохранять в testfile.php,

а testfile.txt у вас должен создаться этим скриптом и в нем должно содержаться

<<<_ENDСтрока 1Строка 2Строка 3_END
Link to comment
Share on other sites

  • 0

Это в книге учат писать такой код? С кучей die и heredoc строками?

 

Походу этот Никсон последователь Попова.


Данную строку нужно скорее всего исправить на

это heredoc строка http://php.net/manual/ru/language.types.string.php#language.types.string.syntax.heredoc

Link to comment
Share on other sites

  • 0
Что я делаю не так? Может быть, сначала нужно создать разметку html5 стандартную, вставить туда php-код и уже этот html-файл открывать в браузере? В книге ничего об этом не говорится, вначале только пара слов о включении php в html и об утсановке локального сервера XAMPP. Нужна Ваша помощь, чтобы двигаться дальше по книге. Спасибо.

 

Для начала удостоверьтесь что у вас настроен сервер и работает php

 

Создайте для начала файл (к примеру index.php)  и запишите в него

<?phpphpinfo();

Если при обращении к файлу вы видите информацию о сервере и php то у вас вес работает и дальше можно уже работать с остальным.

 

Далее включите отображение ошибок, для начала в самом скрипте (хотя можно настройками php)

<?phpini_set('error_reporting', E_ALL);ini_set('display_errors', 1);ini_set('display_startup_errors', 1);

И тогда вам не понадобятся die с выводом ошибок. Если в скрипте будут ошибки то интерпретатор сам их вам выведет.

 

 

Далее попробуйте создать файл, но убедитесь сначала что для директории где вы его хотите создать есть права на запись для пользователя от имени которого запущен apache.

 

И не нужно в небольших строках использовать heredoc , используйте обычные строки:

$str = "Строка 1\r\nСтрока 2\r\nСтрока 3";//или$str = 'Строка 1Строка 2Строка 3';
Link to comment
Share on other sites

  • 0
Далее включите отображение ошибок, для начала в самом скрипте (хотя можно настройками php)
 

Обязательно надо в настройках PHP, иначе ошибки синтаксиса показываться не будут.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Similar Content

    • By Only091
      Помогите пожалуйста, не получается сделать постраничную навигацию. Делал все по урокам. в Итоге получилось сделать два разных каталога один с фильтрами другой с постраничной навигацией. И теперь я пытаюсь объединить два каталога. Но не получается. Сами файлы урока в архике каталог. Буду очень благодарен если мне помогут! catalog.phpcatalogDB.js
      каталог.7z
    • By stonelabs
      Всем привет!

      Наша компания (https://stone-labs.com/) ищет команды (!) разработчиков для реализации ряда заказных проектов. Местоположение не важно - мы практикуем удаленную работу.
       
      Обязательные требования:
      Laravel или Symfony frameworks jQuery (UI), JavaScript, Ajax, Bootstrap MySQL REST API, опыт внедрения Third-party APIs английский на уровне чтения и понимания технической документации опыт в разработке веб приложений и их архитектуры с нуля корректное использование git & pull request flow работа в дневное время во временной зоне UTC +3  
      Будет плюсом, если у вашей команды есть:
      опыт с GitLab CI/CD, Jenkins опыт с MySQL Cluster, MongoDB, PostgreSQL, Redis опыт с Vue.js опыт Linux администрирования, SSH, Nginx, DevOps  
      Если вам интересно сотрудничество, пожалуйста, пишите на наш ящик wanted@stone-labs.com 
    • By Defroing
      <form method="POST" action= "action_handler.php" id="form"> <section class="table_1"> <table class="iksweb"> <tbody> <tr> <td rowspan="3"><b>История компании «Mc donald's»</b> <h3 class="the">Кто основал компанию «Mc donald's»?</h3> <section class="conteiner"> <div class="checkbox"> <input type="checkbox" class="i-6" id="i6" value="0" name="formDoor[]"> <label for="i6" tabindex="12">Роналд Макдоналд</label> </div> <div class="checkbox"> <input type="checkbox" class="i-6" id="i7" value="0" name="formDoor[]"> <label for="i7" tabindex="13">Рэй Крок</label> </div> <div class="checkbox"> <input type="checkbox" class="i-6" id="checkbox_68" value="1" name="formDoor[]"> <label for="checkbox_68" tabindex="14">Братья Дик и Мак Макдоналд</label> </div> <div class="checkbox"> <input type="checkbox" class="i-6" id="checkbox_170" value="0" name="formDoor[]"> <label for="checkbox_170" tabindex="14">Клинт Иствуд</label> </div> <div class="out-block out-6"></div> </section> </td> </tr> </tbody> </table> <div class="dsw"> <button class="b-6" tabindex="11" id="btn-1" type="submit" name="formSubmit">Отправить</button> </div> </form> <?php mysql_connect("localhost", "root", ""); mysql_select_db('olala') or die(mysql_error()); if(isset($_GET['submit'])){ $arr=$_GET; foreach ($arr as $key => $value) { $reg="/^check/";//отбираю нужные элементы if( preg_match ($reg,$key )) { //$new_mass[]=$arr[$key]; //print_r($new_mass); echo $arr[$key]; $sql_1="INSERT INTO `table_one` (`name`) VALUES('$arr[$key]')"; mysql_query($sql_1) or die(mysql_error()); } } } ?>  Создаю опросник и хочу, чтобы чекбоксы заносились в БД(таблицу пока не создавал). Хотелось узнать на счёт php кода, сможете подсказать, что в нём не так (дать какие нибудь советы). В openserver опросник пока не выкладывал.
    • By seoww
      Доброго времени суток. Я не сильно знающий веб-разработчик, но учусь. Начал создавать интернет магазин. Написал код самого сайта, посмотрел видео как делаются интернет-магазины и теперь не могу разобраться с PhpMyAdmin. Я не понимаю как она взаимодействует с сайтом. В интернете погуглил, так ничего дельного найти и не смог. Помогите пожалуйста.
      P.S сильно в меня камни не кидайте, я только учусь 
      Всем добра!
    • By Gmansurov
      Нужно отправить текст на сайт, не знаю как это сделать и не могу найти форумы по этим темам. Google Cloud Platform. Помогите пожалуйста.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy