IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[PHP 8.1] Redirection ne fonctionne plus


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juillet 2008
    Messages : 11
    Points : 6
    Points
    6
    Par défaut [PHP 8.1] Redirection ne fonctionne plus
    Bonjour,

    Depuis quelque temps, la redirection ne fonctionne plus sur ma page connexion et déconnexion.

    Page information.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <?php
    /*
    Page information.php
    
    */
     
    if(!isset($informations))
    {
    	$informations = Array(/*Erreur*/
    					true,
    					'Erreur',
    					'Une erreur interne est survenue...',
    					'',
    					$lien.'/index_v2.php',
    					3
    					);
    }
     
    if($informations[0] === true) $type = 'erreur';
    else $type = 'information';
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    	<head>
    		<title><?php echo $informations[1]; ?> : <?php echo TITRESITE; ?></title>
    		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    		<meta name="language" content="fr" />
    		<meta http-equiv="Refresh" content="<?php echo $informations[5]; ?>;url=<?php echo $informations[4]; ?>">
    		<link rel="stylesheet" title="Design" href="<?php echo $lien; ?>/babybroderie.css" type="text/css" media="screen" />
    	</head>
     
     
    	<body>
    		<div id="info">
    			<div id="<?php echo $type; ?>"><?php echo $informations[2]; ?> Redirection en cours...<br/>
    			<a href="<?php echo $informations[4]; ?>">Cliquez ici si vous ne voulez pas attendre...</a><?php echo $informations[3]; ?></div>
    		</div>
    	</body>
    </html>
    <?php
    unset($informations);
    ?>
    Page connexion
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    <?php
    session_start();
    header('Content-type: text/html; charset=utf-8');
     
    /********Actualisation de la session...**********/
    include('../incl/connexion.php');
    include('../incl/fonctions.php');
    actualiser_session();
    /********Fin actualisation de session...**********/
     
     
    if(isset($_SESSION['membre_id']))
    {
        $informations = Array(/*Membre qui essaie de se connecter alors qu'il l'est déjà*/
                        true,
                        'Vous êtes déjà connecté',
                        'Vous êtes déjà connecté avec le mail <span class="m">'.htmlspecialchars($_SESSION['email'], ENT_QUOTES).'</span>.',
                        ' - <a href="'.$lien.'/clients/deconnexion.php">Se déconnecter</a>',
                        $lien.'/index_v2.php',
                        5
                        );
        require_once('../information.php');
        exit();
    }
     
     
    if($_POST['validate'] != 'ok')
    {
    	/********Entête et titre de page*********/
    	$titre = '';
    	/**********Fin entête et titre***********/
     
    ?>
     
    <!DOCTYPE html><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
    <?php include('../incl/script.php'); ?>
     
    	<title>BabyBroderie</title>
    	<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
    	<meta name="language" content="fr" />
    	<link rel="stylesheet" title="Design" href="https://babybroderie.fr/babybroderiev3.css" type="text/css" media="screen" />
    	<link rel="stylesheet" href="lightbox2-master/dist/css/lightbox.min.css" />
    </head>
     
    <?php
    //Script automatique
    			$timestamp_actuel = time()-14400; 
    			if($donnees['date_panier']<$timestamp_actuel)
    			{
    				$timestamp_actuel = time()-14400;
    				$commande_id = 0;
    				$req = $bdd -> prepare("SELECT * FROM panier WHERE commande_id = :commande_id AND date_panier < :timestamp_actuel");
    				$req->execute(array(
    						'commande_id' => $commande_id,
    						'timestamp_actuel' => $timestamp_actuel));
    				While($donnees = $req->fetch())
    				{ 
     
    					$stockajout = $bdd->prepare('UPDATE stocks SET stock = (stock + 1)
                                                WHERE produit_id = :produit_id AND couleur_id = :couleur_id' );
    					$stockajout->execute(array(
    									'produit_id' => $donnees['produit_id'],
    									'couleur_id' => $donnees['couleur_produit']));  
     
    				}
    				$supprimer = $bdd -> prepare('DELETE FROM panier WHERE commande_id = :commande_id AND date_panier < :date_panier');
    				$supprimer -> execute( array(
    								'commande_id' => $commande_id, 
    								'date_panier' => $timestamp_actuel));	
    			}
    //fin Script
    ?>
     
    <body>
     
    	<div id="bloc_page">
     
    		<?php
    		include('../incl/header.php'); //contient le doctype, et head.
    		?>
     
    		<div id="supprime">
    		e
    		</div>
     
     
     
    			<!--/////////////////////////////  CORPS  //////////////////////////////// -->
     
    			<div id="description">
    				<h3>Connexion : </h3>	
    			</div>
     
    			<div id="bandeau_bleu">
     
    			</div>
     
    			<div id="description_texte">
    				<p>	
    				Pour vous connecter, indiquez votre pseudo et votre mot de passe.<br/>
     
    				Vous pouvez aussi cocher l'option "Me connecter automatiquement à mon prochain passage." pour laisser une trace sur votre ordinateur pour être
     
    				connecté automatiquement.<br/>
     
    				Ce système de trace est basé sur les cookies, ce sont des petits fichiers
     
    				contenant votre numéro d'identification ainsi qu'une version cryptée de votre
     
    				mot de passe. Ces fichiers ne peuvent en aucun cas endommager votre ordinateur,
     
    				ni l'affecter d'aucune façons, vous pourrez les supprimer à tout moment dans
     
    				les options de votre navigateur.
    				</p>
    			</div>
     
     
     
     
    			<form name="connexion" id="connexion" method="post" action="connexion.php">
     
    				<?php if (!empty($_GET['redirect'])): ?>
    				<input type="hidden" name="redirect" value="<?= $_GET['redirect'] ?>">	
     
    				<div id="connexion">
    						<label for="email">Email :</label> 
    							<input type="text" name="email" id="email" value="<?php if(isset($_SESSION['connexion_email'])) echo $_SESSION['connexion_email']; ?>"/><br/><br />
     
    						<label for="mdp">Passe :</label>
    							<input type="password" name="mdp" id="mdp"/><br/>
     
    						<input type="hidden" name="validate" id="validate" value="ok"/><br/>
     
    						<input type="checkbox" name="cookie" id="cookie" class="checkbox" /> 
    							<label for="cookie">Me connecter automatiquement à mon prochain passage.</label><br/><br/>
     
    						<input type="submit" value="Connexion" /><br /><br />
     
     
    					<div id="description">
    						<h3>Option :</h3>	
    					</div>
     
    					<div id="bandeau_bleu">
     
    					</div>
     
     
    					<p><br/>
    						<a href="inscription.php">Je ne suis pas inscrit !</a><br/><br/>
     
    						<a href="oublie_mdp.php">J'ai oublié mon mot de passe !</a><br/><br/><br/>
     
    					</p>
    				</div>
    				<?php endif; ?>
    			</form>
     
    <?php
    }// Fin validate OK
    else
    {
    	$req = $bdd->query("SELECT COUNT(membre_id) AS nbr, membre_id, email, mdp, membre_validation FROM membres 
    										WHERE email = '".$_POST['email']."' GROUP BY membre_id", 1);
    	$result = $req->fetch();										
     
    	if($result['nbr'] == 1)
    	{
    		if((md5($_POST['mdp']) == $result['mdp']) & ($result['membre_validation']==1))
    		{
    			$_SESSION['membre_id'] = $result['membre_id'];
    			$_SESSION['email'] = $result['email'];
    			$_SESSION['mdp'] = $result['mdp'];
    			unset($_SESSION['connexion_email']);
     
    			if(isset($_POST['cookie']) && $_POST['cookie'] == 'on')
    			{
    				setcookie('membre_id', $result['membre_id'], time()+365*24*3600);
    				setcookie('mdp', $result['mdp'], time()+365*24*3600);
    			}
     
     
    			if (!empty($_POST['redirect']))
    			{								
    				$informations = Array(/*Vous êtes bien connecté*/
    						false,
    						'Connexion réussie',
    						'Vous êtes désormais connecté',
    						'',
    						$_POST['redirect'],
    						3
    						);
    			}
     
    			else 
    			{
    				$redirect = 'index.php';
    			}		
     
    			require_once('../information.php');
    			exit();						
     
    		}
     
    		if((md5($_POST['mdp']) == $result['mdp']) & ($result['membre_validation']!=1))
    		{
    			$informations = Array(/*Erreur de mot de passe*/
    						true,
    						'Non validé',
    						'Votre compte n\'est pas encore validé, veuillez clquez sur le lien reçu par mail. Si vous n\'avez pas reçu de mail,
    						vérifié dans les SPAMS',
    						' - <a href="'.$lien.'/index_v2.php">Index</a>',
    						$lien.'/membres/connexion.php',
    						3
    										);
    			require_once('../information.php');
    			exit();
    		}
     
    		else
    		{
    			$_SESSION['connexion_email'] = $_POST['email'];
    			$informations = Array(/*Erreur de mot de passe*/
    						true,
    						'Mauvais mot de passe',
    						'Vous avez fourni un mot de passe incorrect.',
    						' - <a href="'.$lien.'/index_v2.php">Index</a>',
    						$lien.'/membres/connexion.php',
    						3
    										);
    			require_once('../information.php');
    			exit();
    		}
    	}
     
    	else if($result['nbr'] > 1)
    	{
    		$informations = Array(/*Erreur de pseudo doublon (normalement impossible)*/
    					true,
    					'Doublon',
    					'Deux membres ou plus ont le même pseudo, contactez un administrateur pour régler le problème.',
    					' - <a href="'.$lien.'/index_v2.php">Index</a>',
    					$lien.'/contact.php',
    					3
    					);
    		require_once('../information.php');
    		exit();
    	}
     
    	else
    	{
    		$informations = Array(/*Pseudo inconnu*/
    					true,
    					'Email inconnu',
    					'L\'email <span class="email">'.htmlspecialchars($_POST['email'], ENT_QUOTES).'</span> n\'existe pas dans notre base de données. Vous avez probablement fait une erreur.',
    					' - <a href="'.$lien.'/index_v2.php">Index</a>',
    					$lien.'/membres/connexion.php',
    					5
    					);
    		require_once('../information.php');
    		exit();
    	}
    }
    			?>	
     
     
    			<!--/////////////////////////////  FIN CORPS  //////////////////////////////// -->
    		<?php
    		include('../incl/footer.php'); //contient le doctype, et head.
    		?>
     
    	</div> <!--Fin bloc page -->
     
     
    </body>
    </html>
    Page deconnexion
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <?php
    /*
    Neoterranos & LkY
    Page deconnexion.php
    
    Permet de se déconnecter du site.
    
    Quelques indications : (Utiliser l'outil de recherche et rechercher les mentions données)
    
    Liste des fonctions :
    --------------------------
    Aucune fonction
    --------------------------
    
    
    Liste des informations/erreurs :
    --------------------------
    Déconnexion
    --------------------------
    */
    session_start();
    include('../includes/config.php');
    include('../includes/connexion.php');
    include('../includes/fonctions.php');
     
    $bdd->query("DELETE FROM connectes WHERE connectes_id = ".$_SESSION['membre_id']);
    vider_cookie();
    session_destroy();
     
    $informations = Array(/*Déconnexion*/
    				false,
    				'Déconnexion',
    				'Vous êtes à présent déconnecté.',
    				' - <a href="'.$lien.'/membres/connexion.php">Se connecter</a>',
    				$lien.'/index.php',
    				5
    				);
     
    require_once('../information.php');
    exit();
    ?>
    Merci pour votre aide

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juillet 2008
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    Personne à une idée?

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    je ne prétend pas avoir une idée (ce qui serait surprenant dans mon cas ), mais une ligne de code me surprend : While($donnees = $req->fetch()) (ligne 58 de connexion.php). C'est voulu cette affectation ? Tu ne voulais pas faire une comparaison == ?

    Et pb ligne 85 de connexion.php...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

Discussions similaires

  1. New tab redirect ne fonctionne plus
    Par electroremy dans le forum Google Chrome
    Réponses: 1
    Dernier message: 15/10/2023, 17h23
  2. [JqueryMobile] redirection page, liens ne fonctionnent plus.
    Par AttackRevenge dans le forum jQuery
    Réponses: 0
    Dernier message: 14/04/2012, 19h15
  3. [XSL][PHP 5.2] Transformation XSL ne fonctionne plus
    Par lr dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 13/01/2010, 12h17
  4. Réponses: 1
    Dernier message: 23/09/2009, 18h06
  5. [MySQL] Les commandes PHP concernant MySQL ne fonctionnent plus !
    Par Lutarez dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 03/04/2008, 11h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo