Я должен проверить это, когда обновлю свой текст, и мне может понадобиться немного больше информации о том, что именно вы хотите, но если вы хотите, чтобы таблица была в середине текста, все, что вам нужно сделать, это удалить \begin{center}
и \end{center}
. R-фрагменты действительно используются в качестве копировальной пасты, где вы хотите, и даже работают как веб-ссылки, если хотите. Кроме того, вы можете использовать kable()
из knitr для таблиц, и это иногда помогает, иногда ухудшает ситуацию. Я проверю позже, когда у меня будет лучший интернет.
Один способ сделать это (ПРАВОВАЯ ОГОВОРКА: не обязательно лучшая практика):
$result = mysql_query("SELECT id FROM userdb WHERE username='$esclcusername' AND password='$escpassword'") or die(mysql_error());
$row = mysql_fetch_array( $result );
$id = (int)$row['id'];
if($id > 0) {
//log in the user
session_start();
$_SESSION['userId'] = $id;
$_SESSION['username'] = $displayname;
}
... и на страницах, которые требуют аутентификации:
session_start();
if(!isset($_SESSION['userId'])) {
die('You need to be logged in!!!');
} else {
echo 'Welcome ' . $_SESSION['username'];
}
Читайте больше о сессиях PHP.
Вы могли использовать избранный оператор для получения от MySQL пароля для указанного имени пользователя. Если у Вас есть пустой набор результатов, то у Вас нет имени пользователя в таблице.
Если бы Вам нужен пользователь, чтобы аутентифицироваться больше чем на одной php странице, то один выбор использовал бы сессии (http://www.php.net/manual/en/function.session-start.php).
Кроме того, я думаю, что необходимо думать о безопасности, т.е. предотвращении Внедрения SQL:
$variable = mysql_real_escape_string($_POST['variable'])
и предотвращение "умереть" (обработка ошибок и возврат удобных для пользователя сообщений из сценария).
Можно использовать сессии. Сессии являются глобальными переменными, что, когда установлено, останьтесь с пользователем, в то время как он просматривает сайт.
Так как Вы изучаете PHP, испытываете это учебное руководство на официальном сайте.
Но то, что Вы сделали бы в теории, - когда соответствие имени пользователя и пароля, Вы устанавливаете переменную сеанса
$_SESSION["auth"] = true;
$_SESSION["user_id"] = $row["user_id"];
И затем сделайте проверку, чтобы видеть, аутентифицируется ли пользователь.
Это не прямой ответ на этот вопрос, а ХОРОШЕЕ значение - добавляют. Необходимо использовать функцию MySQL SHA1 для шифрования пароля прежде, чем сохранить в базу данных.
$user = $_POST['userid'];
$pwd = $_POST['password'];
$insert_sql = "INSERT into USER(userid, password) VALUES($user, SHA1($pwd))";
$select_sql = "SELECT * FROM USER WHERE userid=$user AND password=SHA1($pwd))";
Я также думал бы о не хранении паролей в Вашей базе данных. Односторонние хэши с MD5 или SHA1 являются способом добавить уровень безопасности на уровне дб.
См. http://php.net/md5 или http://php.net/sha1 для получения дополнительной информации.