recherche
Maisondéveloppement back-endtutoriel phpPHP设置cookie跳转页面后cookie值丢失解决办法

PHP设置cookie跳转页面后cookie值丢失

本帖最后由 opopen 于 2015-08-12 22:54:00 编辑 问题就是,我输入正确的用户名和密码,还是照样让我重新登陆
在index.php页面获取不到cookie里面的值
主页是判断是否设置用户名,没有设置就返回设置,大牛们帮忙看下什么情况!

我贴一下代码:
<br /><br /><?php<br />//Login.php<br />//清空cookies<br />function clearCookies(){<br />		setCookie('username','',time()-3600);  //删除cookies中标识符为username的变量的值<br />		setCookie('isLogin','',time()-3600);      //删除cookies中标识符为isLogin的变量的值 <br />		setCookie('userpass','',time()-3600);      //删除cookies中标识符为userpass的变量的值 <br />}<br />//判断用户是否登录<br />	//if($_GET['action']=='login')<br />//	{<br />		clearCookies();<br />		$inputname = $_GET['loginname'];<br />		$inputpass = $_GET['loginpass'];<br />		echo '获取到用户名后立即输出'.$inputname.'</br>';<br />		echo '获取到密码后立即输出'.$inputpass.'</br>';<br />		//插入数据库<br />		$host = "localhost";<br />		$user = "root";<br />		$password = "";<br />		$dbname = "test";<br />		$connection = mysql_connect($host,$user,$password);<br />		//echo $connection;<br />		if($connection)<br />		{<br />			//$password = md5($password);<br />			echo '此处是密码'.$inputpass.'</br>';<br />			echo '此处是用户名'.$inputname.'</br>';<br />			<br />			mysql_select_db($dbname,$connection);<br />			echo "数据库链接成功了".'</br>';<br />			$sql = "   SELECT * FROM  `user_info`  where `uname`='$inputname' and `upass` = '$inputpass' ";<br />			echo $sql;<br />			$result = mysql_query($sql);<br />				if($result)<br />				{<br />					$row = mysql_fetch_array($result);<br />					if($row)<br />					{<br />						var_dump($row);<br />						setcookie("username",$row['uname'],time()+3600*24,'/');<br />						setcookie("userpass",$row['upass'],time()+3600*24,'/');<br />						setCookie('isLogin','login',time()+3600*24,'/'); <br />						//echo $_COOKIE["isLogin"];<br />						//echo $checklogin;<br />						//echo $checkloginvalue;<br />						//$home_url = 'index.php';<br />						mysql_close($connection);<br />						//echo "<script language='javascript'> alert(\"欢迎您,${row}['uname']\");window.location='../index.html'</script>";<br />						header("location:index.php");<br />						<br />					}else<br />					{<br />						die("登录失败");<br />					}<br />				}<br />		}<br />		else{<br />				echo "数据库链接失败";<br />		}<br />		<br />	//}<br />	<br />?><br />

接下来是主页:index.php
<br /><?php<br /><br />	$username = $_COOKIE["username"]; <br />	var_dump($username);<br />	echo '此处输出Cookie里面的用户名'.$username;<br />	if($username=="" || $username==null)<br />	{<br />					echo"我进来了";<br />					//header("location:login.html");<br />					<br />					exit;<br />	}<br />?><br />

------解决思路----------------------
我试了下,可以登陆的,cookie也写入成功了,截图给你看
Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Expliquez le concept d'une session PHP en termes simples.Expliquez le concept d'une session PHP en termes simples.Apr 26, 2025 am 12:09 AM

PhpSessionsStrackUserDataacrossMultiplepageRequestSusingauniqueIdStoredInacookie.Here'showtomanageThememeChectively: 1) startAsessionwithSession_start () etstoredatain $ _session.2) RegenerateTheSessionidaFterloginWithSession_Regenereate_id (true) TopReventiSi

Comment parcourez-vous toutes les valeurs stockées dans une session PHP?Comment parcourez-vous toutes les valeurs stockées dans une session PHP?Apr 26, 2025 am 12:06 AM

En PHP, l'itération des données de session peut être obtenue via les étapes suivantes: 1. Démarrez la session à l'aide de session_start (). 2. Ilaster à travers la boucle FOREACH à travers toutes les paires de valeurs clés dans le tableau $ _SESSION. 3. Lors du traitement des structures de données complexes, utilisez des fonctions is_array () ou is_object () et utilisez print_r () pour produire des informations détaillées. 4. Lors de l'optimisation de la traversée, la pagination peut être utilisée pour éviter de traiter de grandes quantités de données en même temps. Cela vous aidera à gérer et à utiliser les données de session PHP plus efficacement dans votre projet réel.

Expliquez comment utiliser les sessions pour l'authentification des utilisateurs.Expliquez comment utiliser les sessions pour l'authentification des utilisateurs.Apr 26, 2025 am 12:04 AM

La session réalise l'authentification des utilisateurs via le mécanisme de gestion de l'état côté serveur. 1) Création de session et génération d'ID unique, 2) Les ID sont passés par des cookies, 3) les magasins de serveurs et accèdent aux données de session via IDS, 4) l'authentification des utilisateurs et la gestion de l'état sont réalisées, améliorant la sécurité des applications et l'expérience utilisateur.

Donnez un exemple de la façon de stocker le nom d'un utilisateur dans une session PHP.Donnez un exemple de la façon de stocker le nom d'un utilisateur dans une session PHP.Apr 26, 2025 am 12:03 AM

Tostoreauser'snameinaphpSession, startTheSessionwithSession_start (), thenSsignTheNameto $ _session ['username']. 1) usayession_start () toinitizethesession.2) attheuser'snameto $ _session ['username'].

Quels sont les problèmes courants qui peuvent faire échouer les sessions de PHP?Quels sont les problèmes courants qui peuvent faire échouer les sessions de PHP?Apr 25, 2025 am 12:16 AM

Les raisons de la défaillance de la phpsession comprennent les erreurs de configuration, les problèmes de cookies et l'expiration de session. 1. Erreur de configuration: vérifiez et définissez la session correcte.save_path. 2.Cookie Problème: assurez-vous que le cookie est correctement réglé. 3.Session Expire: Ajustez la valeur de session.gc_maxlifetime pour prolonger le temps de session.

Comment déboguez-vous les problèmes liés à la session dans PHP?Comment déboguez-vous les problèmes liés à la session dans PHP?Apr 25, 2025 am 12:12 AM

Les méthodes pour déboguer les problèmes de session en PHP incluent: 1. Vérifiez si la session est démarrée correctement; 2. Vérifiez la livraison de l'ID de session; 3. Vérifiez le stockage et la lecture des données de session; 4. Vérifiez la configuration du serveur. En sortissant l'ID de session et les données, en affichant le contenu du fichier de session, etc., vous pouvez diagnostiquer et résoudre efficacement les problèmes liés à la session.

Que se passe-t-il si Session_Start () est appelé plusieurs fois?Que se passe-t-il si Session_Start () est appelé plusieurs fois?Apr 25, 2025 am 12:06 AM

Plusieurs appels vers session_start () se traduiront par des messages d'avertissement et d'éventuels remplacements de données. 1) PHP émettra un avertissement, ce qui incite la session à démarrer. 2) Il peut provoquer un écrasement inattendu des données de session. 3) Utilisez session_status () pour vérifier l'état de la session pour éviter les appels répétés.

Comment configurez-vous la durée de vie de la session en PHP?Comment configurez-vous la durée de vie de la session en PHP?Apr 25, 2025 am 12:05 AM

La configuration du cycle de vie de session dans PHP peut être réalisée en définissant session.gc_maxlifetime et session.cookie_lifetime. 1) Session.gc_maxlifetime contrôle le temps de survie des données de session côté serveur, 2) Session.cookie_lifetime contrôle le cycle de vie des cookies des clients. Lorsqu'il est réglé sur 0, le cookie expire lorsque le navigateur est fermé.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

MinGW - GNU minimaliste pour Windows

MinGW - GNU minimaliste pour Windows

Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP

VSCode Windows 64 bits Télécharger

VSCode Windows 64 bits Télécharger

Un éditeur IDE gratuit et puissant lancé par Microsoft

Adaptateur de serveur SAP NetWeaver pour Eclipse

Adaptateur de serveur SAP NetWeaver pour Eclipse

Intégrez Eclipse au serveur d'applications SAP NetWeaver.

PhpStorm version Mac

PhpStorm version Mac

Le dernier (2018.2.1) outil de développement intégré PHP professionnel