[ Script PHP ] Problème de connexion (session php)
6 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
[ Script PHP ] Problème de connexion (session php)
Bonjours,
Je posséde un script sur mon site qui gère les Articles et les Tutoriaux (c'est un script de gestion d'articles). Le script marche très bien aucun sousi.
Sauf que depuis que j'ai décidé de mettre ma page de connexion (index.php)
(exemple sur cette page) au design de mon site rien ne va ! Je ne peux plus me connecter.
Quand j'entre mes identifiants, je suis reconnu sa me redirige sur la page admin.php. Mais sur cette page (ou ce trouve l'espace d'admin) je ne voit que le design de mon site, sans les informations du script.
Si la page de connexion est vide, sans design tous va bien.
Ma page index.php (au design)
et il y a aussi un code javascript entre head (si on n'a pas renseigner les cases login et pass).
Et le code sans le design
Merci d'avance
Ou est mon problème ??
Je posséde un script sur mon site qui gère les Articles et les Tutoriaux (c'est un script de gestion d'articles). Le script marche très bien aucun sousi.
Sauf que depuis que j'ai décidé de mettre ma page de connexion (index.php)
(exemple sur cette page) au design de mon site rien ne va ! Je ne peux plus me connecter.
Quand j'entre mes identifiants, je suis reconnu sa me redirige sur la page admin.php. Mais sur cette page (ou ce trouve l'espace d'admin) je ne voit que le design de mon site, sans les informations du script.
Si la page de connexion est vide, sans design tous va bien.
Ma page index.php (au design)
- Code: Tout sélectionner
<br />
<br />
<h3>Articles - Administration</h3>
<br />
<? session_start();
include('../configuration/configuration.php');
echo'<table width="100%" cellpadding="0" border="0" cellspacing="0" align="center" valign="center">
<tr height="5"><td></td></tr>
</table>';
if(!empty($_GET)) {
echo'<table width="95%" cellpadding="0" border="0" cellspacing="0" align="center" valign="center" class="categories">';
echo'<td><center><font color="#800000">/!\ ACTION INTERDITE /!\</font></center><br><u>Informations</u> : pour des raisons de sécurité, la méthode GET génère une erreur si elle est utilisée dans une URL.<br>Une URL du type :<br>http://www.monsite.com/article/administration/index.php (<font color="green">fonctionnera</font>)<br> http://www.monsite.com/article/administration/index.php?login=blablabla&password=blablalba (<font color="red">ne fonctionnera pas</font>).';
}
else {
if(!$submit) {
if(!session_is_registered("admin"))
{
?>
<table width="95%" cellpadding="0" border="0" cellspacing="5" align="center" valign="center" class="categories">
<form action="" method="post" name="add" OnSubmit="return champsok()">
<tr height="10">
<td align="center" valign="center" colspan="2"></td>
</tr>
<tr>
<td align="right" valign="center">Login : </td><td><input type="text" name="login" style="width:150px;"></input></td>
</tr>
<tr>
<td align="right" valign="center">Pass : </td><td><input type="password" name="password" style="width:150px;"></input></td>
</tr>
<tr>
<td align="right" valign="center" class="sommaire"></td><td><input type="submit" name="submit" value="Connexion" style="width:150px;"></input></td>
</tr>
</form>
<tr>
<td align="center" valign="center" colspan="2"></td>
</tr>
</table>
<?
}
else {
?>
<script LANGUAGE="JavaScript">
setTimeout("window.location='admin.php'",0);
// delai d'attente en ms
</script>
<?
}
}
elseif($submit) {
echo'<table width="50%" cellpadding="0" border="0" cellspacing="0" align="center" valign="center" class="admin">';
echo'<td align="center" valign="center">';
// on se connecte à MySQL
$db = mysql_connect($host, $login_host, $pass_host);
// on seléctionne la base
mysql_select_db($hostname,$db);
// On n'effectue les traitement qu'à la condition que
// les informations aient été effectivement postées
if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password']))) {
extract($_POST);
// On va chercher le mot de passe afférent à ce login
$sql = "SELECT * FROM ".$prefixe."_admins WHERE login='".secure($login)."'";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
// On vérifie que l'utilisateur existe bien
if (mysql_num_rows($req) > 0) {
$data = mysql_fetch_assoc($req);
$password = secure(md5($password));
// On vérifie que son mot de passe est correct
if ($password == $data['password']) {
$niveau = $data['niveau'];
if ($niveau == "1") {
$_SESSION['super_admin'] = $login;
} else {}
$_SESSION['admin'] = $login;
// on crée la requete SQL
$date = date("y-m-d");
$sql = "UPDATE ".$prefixe."_admins SET date='$date' WHERE login= '".secure($login)."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
?>
<script LANGUAGE="JavaScript">
setTimeout("window.location='admin.php'",0);
// delai d'attente en ms
</script>
<?
}
else { ?>
<span class="normal"><font class="normal" color="#800000">Erreur :</font> Pseudo ou password invalide.</font></span>
<script LANGUAGE="JavaScript">
setTimeout("window.location='index.php'",4000);
// delai d'attente en ms
</script>
<? }
// on ferme la connexion à mysql
mysql_close();
}
else { ?>
<span class="normal"><font color="#800000">Erreur :</font> Pseudo ou password invalide.</font></span>
<script LANGUAGE="JavaScript">
setTimeout("window.location='index.php'",4000);
// delai d'attente en ms
</script>
<? }
}
else { ?>
<font color="#800000">Erreur :</font> Aucun champs ne doit rester vide.</font>
<script LANGUAGE="JavaScript">
setTimeout("window.location='index.php'",4000);
// delai d'attente en ms
</script>
<? }
}
}
?></body></html>
<br />
<br />
<br />
<br />
et il y a aussi un code javascript entre head (si on n'a pas renseigner les cases login et pass).
Et le code sans le design
- Code: Tout sélectionner
<? session_start();
include('../configuration/configuration.php');
echo'<table width="100%" cellpadding="0" border="0" cellspacing="0" align="center" valign="center">
<tr>
<td align="center" valign="center" class="titre">Zone Administration</td>
</tr>
<tr height="5"><td></td></tr>
</table>';
if(!empty($_GET)) {
echo'<table width="95%" cellpadding="0" border="0" cellspacing="0" align="center" valign="center" class="categories">';
echo'<td><center><font color="#800000">/!\ ACTION INTERDITE /!\</font></center><br><u>Informations</u> : pour des raisons de sécurité, la méthode GET génère une erreur si elle est utilisée dans une URL.<br>Une URL du type :<br>http://www.monsite.com/article/administration/index.php (<font color="green">fonctionnera</font>)<br> http://www.monsite.com/article/administration/index.php?login=blablabla&password=blablalba (<font color="red">ne fonctionnera pas</font>).';
}
else {
if(!$submit) {
if(!session_is_registered("admin"))
{
?>
<script language="javascript">
<!--
function champsok()
{
if (document.add.login.value.length == 0)
{
alert("Veuillez inscrire votre login !");
return false;
}
if (document.add.password.value.length == 0)
{
alert("Veuillez inscrire votre mot de passe !");
return false;
}
return true;
}
//-->
</script>
<table width="50%" cellpadding="0" border="0" cellspacing="5" align="center" valign="center" class="categories">
<form action="" method="post" name="add" OnSubmit="return champsok()">
<tr height="10">
<td align="center" valign="center" colspan="2"></td>
</tr>
<tr>
<td align="right" valign="center">Login : </td><td><input type="text" name="login" style="width:150px;"></input></td>
</tr>
<tr>
<td align="right" valign="center">Pass : </td><td><input type="password" name="password" style="width:150px;"></input></td>
</tr>
<tr>
<td align="right" valign="center" class="sommaire"></td><td><input type="submit" name="submit" value="Connexion" style="width:150px;"></input></td>
</tr>
</form>
<tr>
<td align="center" valign="center" colspan="2"></td>
</tr>
<tr>
<td align="center" valign="center" colspan="2"><small>[<A HREF="javascript:window.close()" class="d">fermer la fenêtre</a>]</small></td>
</tr>
</table>
<?
}
else {
?>
<script LANGUAGE="JavaScript">
setTimeout("window.location='admin.php'",0);
// delai d'attente en ms
</script>
<?
}
}
elseif($submit) {
echo'<table width="50%" cellpadding="0" border="0" cellspacing="0" align="center" valign="center" class="admin">';
echo'<td align="center" valign="center">';
// on se connecte à MySQL
$db = mysql_connect($host, $login_host, $pass_host);
// on seléctionne la base
mysql_select_db($hostname,$db);
// On n'effectue les traitement qu'à la condition que
// les informations aient été effectivement postées
if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password']))) {
extract($_POST);
// On va chercher le mot de passe afférent à ce login
$sql = "SELECT * FROM ".$prefixe."_admins WHERE login='".secure($login)."'";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
// On vérifie que l'utilisateur existe bien
if (mysql_num_rows($req) > 0) {
$data = mysql_fetch_assoc($req);
$password = secure(md5($password));
// On vérifie que son mot de passe est correct
if ($password == $data['password']) {
$niveau = $data['niveau'];
if ($niveau == "1") {
$_SESSION['super_admin'] = $login;
} else {}
$_SESSION['admin'] = $login;
// on crée la requete SQL
$date = date("y-m-d");
$sql = "UPDATE ".$prefixe."_admins SET date='$date' WHERE login= '".secure($login)."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
?>
<script LANGUAGE="JavaScript">
setTimeout("window.location='admin.php'",0);
// delai d'attente en ms
</script>
<?
}
else { ?>
<span class="normal"><font class="normal" color="#800000">Erreur :</font> pseudo ou password invalide.</font></span>
<script LANGUAGE="JavaScript">
setTimeout("window.location='index.php'",4000);
// delai d'attente en ms
</script>
<? }
// on ferme la connexion à mysql
mysql_close();
}
else { ?>
<span class="normal"><font color="#800000">Erreur :</font> pseudo ou password invalide.</font></span>
<script LANGUAGE="JavaScript">
setTimeout("window.location='index.php'",4000);
// delai d'attente en ms
</script>
<? }
}
else { ?>
<font color="#800000">Erreur :</font> aucun champs ne doit rester vide.</font>
<script LANGUAGE="JavaScript">
setTimeout("window.location='index.php'",4000);
// delai d'attente en ms
</script>
<? }
}
}
?></body></html>
Merci d'avance
Ou est mon problème ??
Re: [ Script PHP ] Problème de connexion (session php)
guicara a écrit:
- Code: Tout sélectionner
<br />
<br />
<h3>Articles - Administration</h3>
<br />
<? session_start();
include('../configuration/configuration.php');
Bonjour,
En PHP le session_start() se met avant tout affichage, y compris les sauts de ligne.
Met ton session_start() avant les <br> et le <h3>, ca devrait aller mieux je pense.
Bolbo
Oui voila, en fait session_start() doit être appelé avant tout affichage par le navigateur.
-http://cyberzoide.developpez.com/php4/faqsession/ a écrit:Tentative d'envoie d'entêtes
Warning: Cannot add header information - headers already sent by (output started at /home/SiteWeb/SiteAnalyse/index.php:3) in /home/SiteWeb/SiteAnalyse/index.php on line 25
Cette erreur survient lorsqu'on tente d'envoyer des entêtes grâce à la fonction header() après avoir écrit dans la page.
On ne peut pas commencer une session après que le serveur ait envoyé au client les entêtes HTTP/1.0 (ou supérieures) de la page.
Ainsi, la commande session_start() doit impérativement être exécutée avant tout envoi par le serveur d'entêtes HTTP au navigateur.
L'identifiant de session étant envoyées sous forme de cookies au client, ce dernier doit être envoyé avant que la page ne s'affiche car l'affichage force l'envoie d'entêtes.
Tout contenu texte placé avant session_start() (même un saut de ligne) provoque un affichage et donc l'envoie d'entêtes qui doivent précéder contenu de la page.
Ce qu'il ne faut pas faire :
<html>
<body>
<?php session_start();
...
ceci non plus :
<?php echo "<html>";
...
session_start();
Car cela provoque l'envoi d'entêtes au navigateur. Donc ces deux essais sont erronés. Il faut faire le session_start() avant toute chose !!!
Même un simple saut de ligne dans le script avant session_start() provoque cette erreur.
6 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Référencement d'un forum phpBB
- Barre d'outils Google pour Firefox : version 3
- Référencement : le problème des sessions des pages PHP
- AdSense Tracking : statistiques détaillées sur les clics AdSense
- Les albums web Picasa passent à 1 Go de stockage
- Google Developer Day 2007 : à Paris et dans 9 autres villes
- Photos satellite des incendies en Grèce dans Google Earth
- Ajouter un Gadget Google sur son site
- Google Desktop pour Mac OS X
- Picasa Web Albums en français
- Cherche script de session PHP sécurisé
- Script php pour liens du type http://www.monsite.com/link.php?id=152
- ID de session PHP
- adsense et session php
- SESSION PHP session_set_save_handler
- probleme de session php
- Session php et referencement ?
- ID de session PHP et Google
- Rewriting et ID de session PHP
- [PHP] Variables de session
- session php et lien
- Supprimer cookie et session php
- [résolu]Fin de session PHP
- garder une session php
- PHP : Session , sécurité , cookies
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités



le forum