在php中创建会话和数据验证
我创建了一个PHP脚本,用于从表中检索数据,并通过提交表单将选择后的数据存储到另一个表中。我在创建用于存储值和验证数据的会话时遇到问题。如何在下拉列表中选择项目时创建会话并验证数据在php中创建会话和数据验证,php,mysql,Php,Mysql,我创建了一个PHP脚本,用于从表中检索数据,并通过提交表单将选择后的数据存储到另一个表中。我在创建用于存储值和验证数据的会话时遇到问题。如何在下拉列表中选择项目时创建会话并验证数据 <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "leave-form"; $dbh = new PDO("mysql:host=$servername; dbname=$dbname", $user
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "leave-form";
$dbh = new PDO("mysql:host=$servername;
dbname=$dbname", $username, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if (isset($_POST["submit"])) {
try {
$sql = "INSERT INTO authority (emp_name, repo_auth, contr_auth)
VALUES ('" . $_POST["emp_name"] . "','" . $_POST["repo_auth"] . "','" . $_POST["contr_auth"] . "')";
if ($dbh->query($sql)) {
echo "<script type= 'text/javascript'>alert('New Record Inserted Successfully');</script>";
} else {
echo "<script type= 'text/javascript'>alert('Data not successfully Inserted.');</script>";
}
} catch (PDOException $e) {
echo $e->getMessage();
}
}
?>
<div class="container">
<h1>Admin</h1>
<form name="registration" action="" method="post">
<table>
<tr>
<td>Employee name:</td>
<td>
<select name="emp_name">
<option value=""> -----------Select----------- </option>
<?php
$stmt = $dbh->prepare('Select name from people');
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo '<option>' . $row['name'] . '</option>';
}
?>
</select>
</td>
</tr>
<tr>
<td>Manager:</td>
<td>
<select name="repo_auth">
<option value=""> -----------Select----------- </option>
<?php
$stmt = $dbh->prepare('Select name from people');
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo '<option>' . $row['name'] . '</option>';
}
?>
</select>
</td>
</tr>
<tr>
<td>Senior Manager:</td>
<td>
<select name="contr_auth">
<option value=""> -----------Select----------- </option>
<?php
$stmt = $dbh->prepare('Select name from people');
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo '<option>' . $row['name'] . '</option>';
}
?>
</select>
</td>
</tr>
<tr>
<td></td>
<td>
<input type="submit" name="submit" value="Register" />
<input type="reset" name="cancel" value="clear"/>
</td>
</tr>
</table>
</form>
</div>
您可以这样做:
$_SESSION['session_name'] = $value;
会议:
会话是最重要的,这是PHP的一个非常简单的主要元素。您可以使用会话在其中存储值,然后可以跨PHP脚本的其他页面访问这些值。UnllkeCookie会话比Cookie安全得多,因为Cookie保存在客户端,并且可以进行操作,这会造成比Cookie更大的伤害在其他sie会话上的任何其他内容都是服务器端的。您可以在会话中存储一些值,但实际会话存储在服务器上。您无法对其进行操作,因此使用会话而不是cookie更安全,但在代码中的某些位置,这两个会话都有各自的角色相互使用
如何创建会话:
创建会话非常容易,
会话可以这样创建:
$_SESSION['session_name'] = $value;
第二,您现在可以通过以下方式在其他PHP脚本页面中访问会话:
$stored_value = $_SESSION['session_name'];
echo $stored_value;
注意:在尝试访问$\u session
数组之前,以及在将任何输出发送到浏览器之前,请记住在这两个页面上运行session\u start()
语句。只需添加session\u start()
在您要使用会话设置会话或尝试检索会话的每一页的完整开头
会话的简单使用:
场景:
例如,我想在登录时创建一个会话,然后能够使用已建立的会话访问其他页面,直到会话被销毁。!
下面是我该怎么做:
登录页面(index.php或Login.php):
<?php
session_start();
// Add session_start() just right after the PHP Starting Tags
// Or you will be getting Header Sent Already Error
if ($db_username == $input_username && $db_password == $input_password) {
$_SESSION['user'] = $db_username;
header("Location : home.php");
} else {
echo "Username & Password Is Wrong";
}
?>
<?php
session_start();
$user = $_SESSION['user'];
if (isset($user)) {
echo "Welcome User : ".$user;
} else {
// If Session is not there you will be redirected back to login page.!
header("Location: login.php");
}
?>
<?php
session_start();
if (session_destroy()) {
header("Location: login.php");
}
?>
现在,如果您想注销,只需访问logout.php
页面,就可以像这样破坏会话:
注销页面(Logout.php):
<?php
session_start();
// Add session_start() just right after the PHP Starting Tags
// Or you will be getting Header Sent Already Error
if ($db_username == $input_username && $db_password == $input_password) {
$_SESSION['user'] = $db_username;
header("Location : home.php");
} else {
echo "Username & Password Is Wrong";
}
?>
<?php
session_start();
$user = $_SESSION['user'];
if (isset($user)) {
echo "Welcome User : ".$user;
} else {
// If Session is not there you will be redirected back to login page.!
header("Location: login.php");
}
?>
<?php
session_start();
if (session_destroy()) {
header("Location: login.php");
}
?>
您可以这样做:
$_SESSION['session_name'] = $value;
会议:
会话是最重要的,这是PHP的一个非常简单的主要元素。您可以使用会话在其中存储值,然后可以跨PHP脚本的其他页面访问这些值。UnllkeCookie会话比Cookie安全得多,因为Cookie保存在客户端,并且可以进行操作,这会造成比Cookie更大的伤害在其他sie会话上的任何其他内容都是服务器端的。您可以在会话中存储一些值,但实际会话存储在服务器上。您无法对其进行操作,因此使用会话而不是cookie更安全,但在代码中的某些位置,这两个会话都有各自的角色相互使用
如何创建会话:
创建会话非常容易,
会话可以这样创建:
$_SESSION['session_name'] = $value;
第二,您现在可以通过以下方式在其他PHP脚本页面中访问会话:
$stored_value = $_SESSION['session_name'];
echo $stored_value;
注意:在尝试访问$\u session
数组之前,以及在将任何输出发送到浏览器之前,请记住在这两个页面上运行session\u start()
语句。只需添加session\u start()
在您要使用会话设置会话或尝试检索会话的每一页的完整开头
会话的简单使用:
场景:
例如,我想在登录时创建一个会话,然后能够使用已建立的会话访问其他页面,直到会话被销毁。!
下面是我该怎么做:
登录页面(index.php或Login.php):
<?php
session_start();
// Add session_start() just right after the PHP Starting Tags
// Or you will be getting Header Sent Already Error
if ($db_username == $input_username && $db_password == $input_password) {
$_SESSION['user'] = $db_username;
header("Location : home.php");
} else {
echo "Username & Password Is Wrong";
}
?>
<?php
session_start();
$user = $_SESSION['user'];
if (isset($user)) {
echo "Welcome User : ".$user;
} else {
// If Session is not there you will be redirected back to login page.!
header("Location: login.php");
}
?>
<?php
session_start();
if (session_destroy()) {
header("Location: login.php");
}
?>
现在,如果您想注销,只需访问logout.php
页面,就可以像这样破坏会话:
注销页面(Logout.php):
<?php
session_start();
// Add session_start() just right after the PHP Starting Tags
// Or you will be getting Header Sent Already Error
if ($db_username == $input_username && $db_password == $input_password) {
$_SESSION['user'] = $db_username;
header("Location : home.php");
} else {
echo "Username & Password Is Wrong";
}
?>
<?php
session_start();
$user = $_SESSION['user'];
if (isset($user)) {
echo "Welcome User : ".$user;
} else {
// If Session is not there you will be redirected back to login page.!
header("Location: login.php");
}
?>
<?php
session_start();
if (session_destroy()) {
header("Location: login.php");
}
?>
我没有找到任何与会话或验证相关的代码。您面临的问题是什么?因为我是一个新手,我不知道如何添加会话或在发现重复用户时验证代码警告:使用PDO时,您应该使用准备好的语句,并将任何用户数据作为单独的参数提供,因为您在这段代码中有严重错误。不要使用字符串插值或串联,而是使用。有关此问题和其他问题的指导,请参阅。我未找到任何会话或验证相关代码。您面临的问题是什么?因为我是一个新手,我不知道如何添加会话或在发现重复用户时验证代码警告:使用PDO时,您应该使用准备好的语句,并将任何用户数据作为单独的参数提供,因为您在这段代码中有严重错误。不要使用字符串插值或串联,而是使用。有关此问题和其他问题的指导,请参阅。现在,我想为每个字段创建会话,例如,如果用户从每个下拉列表中选择一个项目,但用户忘记从另一个下拉列表中选择一个项目,则必须提醒用户仅填写/选择该字段,因为其余项目是使用会话存储的,并且每个字段应具有唯一的名称,即我可以将我的报告经理和高级经理命名为相同的名称,我的firend也可以命名为相同的名称,即所有选定的下拉列表都具有相同的值,必须对其进行验证,并弹出一条消息,就像所有字段都不能显示一样same@tadman你瞎了吗??只是想知道你看不到他甚至不知道如何创建和添加会话,而你正在谈论laraval。。。!让我们称之为艰难的爱。PHP社区似乎对人们使用他们自己糟糕透顶的登录系统漠不关心,有些系统坏得很厉害,他们做的恰恰相反,他们让人们随意攻击你的服务器。Ruby有Rails,Python有Django,Node.js有Express,所有这些都是人们在解决类似问题时首先使用的。