Empêche l'affichage d'une page PHP
Fermé
nik029
Messages postés
281
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
13 avril 2022
-
Modifié par nik029 le 23/09/2012 à 14:53
nik029 Messages postés 281 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 13 avril 2022 - 3 oct. 2012 à 11:13
nik029 Messages postés 281 Date d'inscription mardi 1 juillet 2008 Statut Membre Dernière intervention 13 avril 2022 - 3 oct. 2012 à 11:13
A voir également:
- Empêche l'affichage d'une page PHP
- Supprimer une page word - Guide
- Traduire une page web - Guide
- Créer une page facebook - Guide
- Page d'accueil iphone - Guide
- Word numéro de page 1/2 - Guide
13 réponses
tryan44
Messages postés
1288
Date d'inscription
mardi 24 janvier 2012
Statut
Membre
Dernière intervention
26 octobre 2014
219
26 sept. 2012 à 12:15
26 sept. 2012 à 12:15
Pour le teste, l'erreur est normal car il ne faut pas de guillemet
Par ailleurs, votre code ne fait pas référence à cette session..?
echo $_SESSION['rang'];
Par ailleurs, votre code ne fait pas référence à cette session..?
tryan44
Messages postés
1288
Date d'inscription
mardi 24 janvier 2012
Statut
Membre
Dernière intervention
26 octobre 2014
219
26 sept. 2012 à 15:45
26 sept. 2012 à 15:45
ça ne serait pas plus simple de déclarer la session "rang" en même temps que la session "username" dans votre code?
Bien-sur il faut adapter votre code pour que la variable $rang soit sortie de votre table.
$_SESSION['username']=$username; $_SESSION['rang']=$rang;
Bien-sur il faut adapter votre code pour que la variable $rang soit sortie de votre table.
mpmp93
Messages postés
6652
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 339
24 sept. 2012 à 07:43
24 sept. 2012 à 07:43
Bonjour
Vous dites: "...que j'ai intégré à toute mes pages"
Vous avez la réponse: ne pas mettre ce bout de code dans les pages de connexion...
A+
Vous dites: "...que j'ai intégré à toute mes pages"
Vous avez la réponse: ne pas mettre ce bout de code dans les pages de connexion...
A+
nik029
Messages postés
281
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
13 avril 2022
44
Modifié par nik029 le 24/09/2012 à 19:01
Modifié par nik029 le 24/09/2012 à 19:01
Oui, j'ai mis a toutes mes pages, sauf à la page de connexion. Ma formulation n'était pas bonne en effet.
Une fois un problème résolu, mettez un +1 sur la réponse qui vous à aidez et mettez Problème Résolu ! ;-)
Une fois un problème résolu, mettez un +1 sur la réponse qui vous à aidez et mettez Problème Résolu ! ;-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
tryan44
Messages postés
1288
Date d'inscription
mardi 24 janvier 2012
Statut
Membre
Dernière intervention
26 octobre 2014
219
24 sept. 2012 à 20:10
24 sept. 2012 à 20:10
Vous êtes sure que $_SESSION['rang'] est égal à 1 lorsque vos membres se connectes?
nik029
Messages postés
281
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
13 avril 2022
44
25 sept. 2012 à 17:33
25 sept. 2012 à 17:33
Si l'utilisateur est au rang admin, alors son rang est égal à 1.
Si l'utilisateur est au rang modérateur, alors son rang est égal à 2.
Il n'y a pas d'autres rangs possibles et j'ai essayé de me connecter en tant qu'admin (donc avec un rang égal à 1).
Si l'utilisateur est au rang modérateur, alors son rang est égal à 2.
Il n'y a pas d'autres rangs possibles et j'ai essayé de me connecter en tant qu'admin (donc avec un rang égal à 1).
tryan44
Messages postés
1288
Date d'inscription
mardi 24 janvier 2012
Statut
Membre
Dernière intervention
26 octobre 2014
219
25 sept. 2012 à 17:41
25 sept. 2012 à 17:41
ça donne quoi un echo de $_SESSION['rang']?
Vous pouvez poster le code de votre page d'identification?
Vous pouvez poster le code de votre page d'identification?
nik029
Messages postés
281
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
13 avril 2022
44
Modifié par nik029 le 26/09/2012 à 11:52
Modifié par nik029 le 26/09/2012 à 11:52
Voici le code de la page index.php :
Et pour le petit test, cela :
donne ça :
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/locasudf/public_html/admin/require/essais.php on line 4
Une fois un problème résolu, mettez un +1 sur la réponse qui vous à aidez et mettez Problème Résolu ! ;-)
<?php session_start(); ?> <form method="post" action="index.php" style="margin:0"> <div class="modal-body"> <fieldset><?php if(isset($_POST['submit'])) { $username = htmlspecialchars(trim($_POST['username'])); $password = htmlspecialchars(trim($_POST['password'])); if($username&&$password) { $password=md5($password); $connect = mysql_connect('localhost', 'nomutilisateur', 'motdepasse'); mysql_select_db('nombdd'); $log=mysql_query("SELECT * FROM users WHERE username='$username' and password='$password'"); $rows=mysql_num_rows($log); if($rows==1) { $_SESSION['username']=$username; echo '<script language="Javascript">document.location.replace("accueil.php");</script>'; }else echo "<div class='alert-message error'><a class='close' href='#' onClick='$(this).parent().slideUp();'>x</a><p> <strong>Attention !</strong> Nom d'utilisateur ou mot de passe incorrect.</p></div>"; }else echo "<div class='alert-message error'><a class='close' href='#' onClick='$(this).parent().slideUp();'>x</a><p> <strong>Attention !</strong> Veuillez saisir tous les champs.</p></div>"; } ?> <div class="clearfix"> <label>Identifiant</label> <div class="input"> <input name="username" type="text" placeholder="Identifiant" style="height:28px" value="<?php if (isset($_POST['username'])) echo htmlentities(trim($_POST['username'])); ?>" required/> </div> </div> <div class="clearfix"> <label>Mot de passe</label> <div class="input"> <input type="password" name="password" placeholder="Mot de passe" style="height:28px" value="<?php if (isset($_POST['password'])) echo htmlentities(trim($_POST['password'])); ?>" required> </div> </div> </fieldset> </div> <div class="modal-footer"> <input type="submit" name="submit" value="Connexion" class="btn primary"> </div> </form>
Et pour le petit test, cela :
<?php session_start(); include("require/connect.php"); echo "$_SESSION['rang']" ; ?>
donne ça :
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/locasudf/public_html/admin/require/essais.php on line 4
Une fois un problème résolu, mettez un +1 sur la réponse qui vous à aidez et mettez Problème Résolu ! ;-)
nik029
Messages postés
281
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
13 avril 2022
44
26 sept. 2012 à 15:17
26 sept. 2012 à 15:17
Du coup, qu'est-ce que je devrais faire ?
Car je viens d'essayer de faire cela :
Et mon problème persiste.
Car je viens d'essayer de faire cela :
<?php session_start(); include("connect.php"); if($_SESSION['username'] != $username){ echo '<script language="Javascript">document.location.replace("index.php");</script>'; } ?>
Et mon problème persiste.
nik029
Messages postés
281
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
13 avril 2022
44
26 sept. 2012 à 16:32
26 sept. 2012 à 16:32
Je viens d'essayer en ajoutant ce que tu m'a donné à ma page index.php
et en mettant ceci sur toutes les pages :
Cette fois, la connexion est possible mais les utilisateurs non connectés peuvent accéder aux pages.
et en mettant ceci sur toutes les pages :
<?php session_start(); include("connect.php"); if($_SESSION['rang'] != $rang){ echo '<script language="Javascript">document.location.replace("index.php");</script>'; } ?>
Cette fois, la connexion est possible mais les utilisateurs non connectés peuvent accéder aux pages.
tryan44
Messages postés
1288
Date d'inscription
mardi 24 janvier 2012
Statut
Membre
Dernière intervention
26 octobre 2014
219
26 sept. 2012 à 18:29
26 sept. 2012 à 18:29
Houlaaa ... vous l'avez codé vous même le code ou vous l'avez récupérer sur le net???
J'ai bien dit : "Bien-sur il faut adapter votre code pour que la variable $rang soit sortie de votre table. "
Ma question est donc : Est ce que lors de la vérification en BD le rang de l'utilisateur est sortit et attribué à une session?
Exemple à l'arrache :
J'ai bien dit : "Bien-sur il faut adapter votre code pour que la variable $rang soit sortie de votre table. "
Ma question est donc : Est ce que lors de la vérification en BD le rang de l'utilisateur est sortit et attribué à une session?
Exemple à l'arrache :
//On selectionne les données $index = mysql_query("SELECT ******"); //si pas de résultat if(mysql_num_rows($index) == 0) { echo '<div id="erreur">Aucunes données ne correspond à votre saisie!</div>'; } else{ while($result = mysql_fetch_array($index)){ //on créer les session $_SESSION['username']=$username; $_SESSION['rang']=$rang; } }
nik029
Messages postés
281
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
13 avril 2022
44
Modifié par nik029 le 26/09/2012 à 20:10
Modifié par nik029 le 26/09/2012 à 20:10
Voici le résultat affiché suite à la requête :
Une fois un problème résolu, mettez un +1 sur la réponse qui vous à aidez et mettez Problème Résolu ! ;-)
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/locasudf/public_html/admin/require/essais.php on line 10 Aucunes données ne correspond à votre saisie!
Une fois un problème résolu, mettez un +1 sur la réponse qui vous à aidez et mettez Problème Résolu ! ;-)
nik029
Messages postés
281
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
13 avril 2022
44
29 sept. 2012 à 10:57
29 sept. 2012 à 10:57
Up ?
nik029
Messages postés
281
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
13 avril 2022
44
3 oct. 2012 à 11:13
3 oct. 2012 à 11:13
Mon problème est réglé.
Modifié par nik029 le 26/09/2012 à 12:19
Edit : lorsque je fais le test, rien ne s'affiche. Page blanche.
26 sept. 2012 à 12:36
Modifié par nik029 le 26/09/2012 à 13:25
Du coup je dois mettre cela avant le code php de connexion ? :
26 sept. 2012 à 14:43
Dans votre code actuel (celui qui est plus haut) vous déclarez qu'une seule session soit $_SESSION['username']=$username;
Vous dites faire appel à la session $_SESSION['rang'] mais pour que cette session soit utilisable, il faut bien qu'elle soit déclaré quelque part!