Php 检查cookies并设置会话
我根本不是一名编程人员,因此在这种情况下我需要一些帮助: 我需要将Cookie和会话设置到一个参考系统,该系统的工作方式如下: www.mywebsite.com/?id=附属公司Php 检查cookies并设置会话,php,session,cookies,Php,Session,Cookies,我根本不是一名编程人员,因此在这种情况下我需要一些帮助: 我需要将Cookie和会话设置到一个参考系统,该系统的工作方式如下: www.mywebsite.com/?id=附属公司 我需要检查数据库中是否存在附属机构 如果是,则获取用户名以设置要在页面中打印的cookie和名称 如果不是,我将使用默认的附属公司,如第一附属公司。 Cookie的有效期必须为30天 我的一个问题是,当被推荐的客户来到我的网站时,链接中没有。/?id=affiliate,因为我需要检查是否有注册的cookie,如果没
$id = $_POST("id");
if ($_POST("id") = null) {
if( isset( $_COOKIE['pro'] ) )
{
$id = $_COOKIE['pro'];
}else{
$id = "defaultaffiliate"
}
}
session_start();
$rs = mysql_query("select * from users where Username='$id'");
$arr=mysql_fetch_array($rs);
if(mysql_num_rows($rs) > 0){
$uid=$arr['id'];
$_SESSION["name"]=$arr['Name'];
setcookie("pro", $uid, time()+30 * 24 * 3600);
}else{
$uid='claudioxerez';
$_SESSION["name"]='Claudio Xerez';
setcookie("pro", $uid, time()+30 * 24 * 3600);
}
对于Set会话和Cookie: Config.php:
$SERVER="localhost";
$DB_NAME="********";
$USERNAME="*******";
$PASSWORD="*******";
$CONN=mysql_connect($SERVER,$USERNAME,$PASSWORD);
mysql_query("set names UTF8",$CONN);
if(!$CONN)
{
die('ERROR IN CONNECT TO DATABASE!'.mysqli_connect_error());
mysql_close();
}
else
{
mysql_select_db($DB_NAME,$CONN);
}
Login.php:
<form enctype="multipart/form-data" method="post" action="Config/Checklogin.php">
<input name="txtUsername" type="text" id="txtUsername" autocomplete="off" />
<input name="txtPassword" type="password" id="txtPassword" />
<p>Remember ME .</p><input name="chkRemember" id="chkRemember" type="checkbox" /><
<input type="submit" value="Submit" />
</form>
session_start();
include("Config.php");
if(!empty($_POST["txtUsername"])&& !empty($_POST["txtPassword"]))
{
$User=$_POST["txtUsername"];
$PASSWORD=$_POST["txtPassword"];
$Remember=$_POST["chkRemember"];
setSession($User,$PASSWORD,$Remember);
}
if( (ctype_alnum($User)) )
{
setSession($User,$PASSWORD,$Remember); // --> setSession is a function
}
else
{
header("Location:../Login.php");
}
//------------------------ FUNCTION :
function setSession($YOURUSERNAME,$YOURPASSWORD,$Remember)
{
/* ========================================================= */
$sel="SELECT * FROM TBL_USERS WHERE USERNAME='".SAFE($YOURUSERNAME)."'".
"AND PASSWORD= '".SAFE($YOURPASSWORD)."'";
//=================================================
$Result=QUERY($sel);
$Row=mysql_num_rows($Result);
if($Row==1)
{
if($Remember=='on')
{
setcookie("user", $YOURUSERNAME, time()+3600,"/"); // for an houre
header("location:../index.php");
}
else if($Remember==NULL)
{
$_SESSION["user"]=$YOURUSERNAME;
header("location:../index.php");
}
}
else
{
header("location:../login.php");
}
嗨@Mohammad.Amin,可能是我没有正确解释我需要做什么。事实上,这段代码是跟踪销售而不是登录。每个分支机构都有自己的跟踪代码,该代码通过url“../id=affiliate”传递,因此我需要选择此id,并查看是否有任何分支机构注册,以便将其通信记入贷方。我需要设置cookie来设置会话的原因是,我将有许多附属公司推广相同的产品和页面。