Переменные PHP, передаваемые на веб-странице - PullRequest
0 голосов
/ 26 января 2012

В моем php-файле я создаю логин, до мельчайших подробностей, поэтому я не собираюсь публиковать его, но я также новичок в php и мне нужна помощь с одной вещью.Я не уверен, что $_SESSION может работать для этого, но если это произойдет, я не знаю, как это сделать.

  1. Это то, что мне интересно ... ЕслиУ меня был кто-то, кто мог войти в систему. Могу ли я иметь переменную (там имя пользователя, поэтому мне все равно, хранится ли она в URL-адресе.), которую нужно передать со страницы на страницу и прочитать в каждый файл, вызвав ее.Тогда я мог бы также очистить переменную

  2. Также одна более простая проблема ... как я могу создать папку в php?

Myкаталог все еще не работает

if (is_writable('/users')) {
  if (mkdir('/users/$finalusername')) {
    // success
  }
}
$myFile = "/users/$finalusername/$finalusername.txt";
$fh = fopen($myFile, 'w') or die("There was an error in creating your account.  <br />");
$stringData = "$finalusername\n";
fwrite($fh, $stringData);
$stringData = "$finalpass\n";
fwrite($fh, $stringData);
$stringData = "$finalemail\n";
fwrite($fh, $stringData);
fclose($fh);
}

Ответы [ 4 ]

3 голосов
/ 26 января 2012

НЕ передавать значение аутентификации любого вида в строке запроса URL.Для пользователей было бы несложно вмешиваться в их настройки (или настройки других пользователей), если их пройти таким образом.

$_SESSION более идеален для такого рода вещей и прост в реализации.При успешном входе в систему установите переменную сеанса для пользователя:

// Must be called to initiate session
session_start();

// Login was successful 
$_SESSION['username'] = $the_username;

// On other pages:
session_start();

if (isset($_SESSION['username'])) {
  // user is logged in
}
else // show the login form

Чтобы выйти из системы:

// Method 1 only unsets the username to log out the user
session_start();
unset($_SESSION['username']);

// Alternatively you can destroy the whole session, if
// you are not using it for anything else the user may need again
// despite not being logged in (maybe his preferred language, for example)
session_destroy();
unset($_SESSION);

Чтобы создать каталог с PHP, используйте mkdir().Учетная запись пользователя веб-сервера должна иметь право на запись в каталог, в котором создан новый каталог, для ее работы.

if (is_writable('/path/to/parentdir')) {
  if (mkdir('/path/to/parentdir/new_directory')) {
    // success
  }
  else {
    // handle error
  }
}
else // This directory has to be writable by the web server!
1 голос
/ 26 января 2012

Я дам вам ссылку на каждый вопрос

Простая форма входа в PHP с сессиями

Пожалуйста, не используйте имя пользователя в адресе, используя переменные get. Попробуйте $ _SESSION и $ _POST вместе, чтобы получить хороший результат.

Представьте себе, если я изменю свой адрес с www.yourpage.com?username=kypros на www.yourpage.com?username=administrator, это сразу сделает меня администратором?

Что касается второго вопроса, то, что вы хотите, это Функция mkdir () для создания новых папок

0 голосов
/ 26 января 2012

mkdir() - это функция, используемая для создания каталога.

В идеале вы должны использовать базу данных для хранения данных для входа в систему.Затем используйте форму, где кто-то может ввести свое имя пользователя и пароль.Когда они нажимают кнопку отправки, форма публикует значения, введенные человеком в сценарий входа.Затем сценарий входа в систему будет выполнять поиск в базе данных, чтобы определить, совпадают ли имя пользователя и пароль с какими-либо из них в базе данных.Если это так, вы можете использовать session_start() для создания сеанса и создать переменную $_SESSION, равную имени пользователя, введенному пользователем.

Используйте функцию session_start() на всех веб-страницах, которые вы хотитеотображать содержимое в зависимости от того, вошел человек или нет.

Вы можете использовать цикл if(), чтобы узнать, существует ли $_SESSION['username'], и отобразить содержимое, если оно существует.Чтобы завершить сеанс, используйте функцию session_destory().

0 голосов
/ 26 января 2012

$_SESSION - лучший ответ для вас. Он работает путем сохранения cookie на клиенте (отправляемом как часть HTTP-ответа) с уникальным идентификатором сеанса. Затем он отправляется обратно с каждым запросом, отправленным клиентом на ваш сервер, до тех пор, пока файл cookie не будет сброшен. Затем сервер сохраняет связанную информацию во временной переменной сеанса. Уничтожение сеанса на стороне сервера (по таймауту или через ваш код) также будет означать, что пользователь выйдет из системы (информация для сеанса не сохраняется).

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