php принимает ввод данных пользователем в файл и выводит файл для просмотра пользователем - PullRequest
0 голосов
/ 04 декабря 2009

Как мне настроить это так, чтобы, когда пользователь вводил свое имя и фамилию, я записывал его в файл .html и затем давал пользователю ссылку для просмотра информации, которую он только что ввел?

Я знаю, что мог бы просто повторить это, как я уже делал с $ _POST ['userfName'] после приветствия, но я просто хочу записать в какой-нибудь файл .html и передать эту информацию пользователю для просмотра (см. ).

{ 
        $_SESSION['userEmail'] = $_POST['userEmail']; 
        $_SESSION['start'] = time(); 
        echo "Welcome, " . $_POST['userfName'] .  $_POST['userlName'] .". A new session has been activated for you. Click <a href="sometextfile.html">here</a> to see your information.";
        echo "<br>Your session id is: ".session_id(); 
    } 

Ответы [ 3 ]

2 голосов
/ 04 декабря 2009

Вы хотите создать новый HTML-файл для каждого пользователя, который входит в систему? Этот вид не поддается смыслу серверных сценариев.

На самом деле, с точки зрения безопасности плохая идея, чтобы у ваших скриптов был доступ на запись к корню вашего веб-сервера.

То, что вы хотите сделать, это указать ссылку на "sometextfile.php? Sessid =" или использовать файл cookie, содержащий идентификатор их сеанса, а затем динамически сгенерировать эту страницу.

Если вы просто хотите записать текстовый файл на диск где-нибудь, вы можете создать строку, а затем использовать file_put_contents (http://php.net/file_put_contents). Это может быть помещено в корневой веб-каталог, но я предполагаю, что это не то, что вы Пытаюсь сделать.

1 голос
/ 04 декабря 2009

Вот так.

 $message = ...;
 file_put_contents(dirname(__FILE__)."\message.html", $message);
 echo "<a href=message.html>Your message</a>

НО ваш веб-сервер теперь может иметь разрешения на запись в веб-каталог. И это открывает вас для всех видов зла. Представьте, что пользователь написал скрипт php в сообщении (например, <? echo phpinfo()?>). Теперь ваш сервер взломан. Если вы делаете это, вам нужно проверить и очистить ваши данные.

РЕДАКТИРОВАТЬ Ник прав, используя предложенный мною метод, ваши пользователи будут перезаписывать сообщения друг друга. Я бы не рекомендовал делать это. Следуйте предложению Никса об отправке пользователя на динамически генерируемую страницу.

0 голосов
/ 04 декабря 2009

Похоже, вы наткнулись на потребность в базе данных ! Поздравляем!

Поскольку вы используете PHP, самый простой / дешевый маршрут - либо установить , либо получить доступ к серверу MySQL .

Затем вы можете создать таблицу с именами ваших пользователей и дать им URL-адрес для доступа к динамической странице с информацией об этом, и вы на пути к многообещающей карьере. Чтобы получить справку по MySQL, ознакомьтесь с этим руководством .

В конце концов, вы, вероятно, захотите перейти к такой среде, как Code Igniter , CakePHP или Symfony (чтобы назвать несколько), чтобы начать все это грязная работа для вас, чтобы вы могли сосредоточиться на модных вещах.

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