begin process at 2012 05 31 05:26:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Page blanche sur session_start


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Page blanche sur session_start

dimanche 12 octobre 2008 à 16:49:09 | Page blanche sur session_start

bruno3591

Bonjour, j'ai une page blanche quand je valide le formulaire d'authentification. Il y a 2 pages, une pour le formulaire et l'autre pour traiter les infos du formulaire dont voici le code : Merci de votre aide. :)
dimanche 12 octobre 2008 à 16:51:29 | Re : Page blanche sur session_start

bruno3591

Le code n'est pas passé :
dimanche 12 octobre 2008 à 16:52:05 | Re : Page blanche sur session_start

bruno3591

<?php

if ( isset ($_POST['utilisateur']) || isset ($_POST['mdp']) )
{

mysql_connect('localhost', 'root', '');
mysql_select_db('gestion_conges');
//requête vers la table users
$query = "SELECT utilisateur, mdp FROM users WHERE utilisateur = '".$_POST['utilisateur']."' AND mdp = '".$_POST['mdp']."' ";

// Execute la requete
$result = mysql_query($query);
$data = (mysql_fetch_array($result) );

// Regarde les valeurs retournees par la base
if (mysql_num_rows($result) == 1)
{
header ('Location: index.php');
}
session_start();
$_SESSION['utilisateur'] = $data['utilisateur'];

}
?>
dimanche 12 octobre 2008 à 20:16:50 | Re : Page blanche sur session_start

coucou747

Administrateur CodeS-SourceS
et que peut-on faire pour toi ?
dimanche 12 octobre 2008 à 20:56:37 | Re : Page blanche sur session_start

bruno3591

Bonsoir, il est vrai que mon post n'est pas très clair. Je m'explique :

Je débute en php et mysql et m'entraine en faisant un site destiné à l'intranet qui devra gérer des congés (CA, RTT...). Les utilisateurs devront se connecter via une page d'authentification. Les login et mdp sont placés dans une BDD mysql.
J'ai une base mysql "gestion_conges" et pour le moment 4 tables dont une "users" avec 3 champs : id, utilisateur, mdp.

J'ai fais une page authentification.php qui affiche un formulaire d'identification qui pointe ensuite vers un page verif_authen.php et c'est là que je patauge depuis 2 jours. J'ai compris le principe des sessions (pas cookie) mais je n'arrive pas à coder correctement cette page. Sur le net j'ai trouvé beaucoup d'exemple que j'ai tenté d'adapter et comprendre mais sans succés.
J'ai l'impression qu'il y a de nombreuses façons de vérifier les données transmises par le formulaire, de les comparer à la BDD etc...

Le code que j'ai posté plus haut, je l'ai encore modifié mais il ne marche toujours pas.

Je cherche quelqu'un pour m'aider à écrire correctement cette page verif_authen.php.

Merci
lundi 13 octobre 2008 à 12:05:33 | Re : Page blanche sur session_start

Flachy Joe

Qu'est ce que tu essayes de faire là ?

if (mysql_num_rows($result) == 1)
{
header ('Location: index.php');
}
session_start();


Si tu envoi un header avant, il me semble que ça fait planter le session_start (header already sent).

Pourquoi utiliser la variable $data ($data = (mysql_fetch_array($result) ); ) puisqu'elle contient par définition les variables utilisateur et mdp envoyé par POST ?

D'ailleurs préfère l'utilisation de mysql_fetch_assoc, qui a le même comportement mais dont le nom est plus explicite.

Flachy Joe
« Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. » Les Shadoks<
lundi 13 octobre 2008 à 13:44:16 | Re : Page blanche sur session_start

bruno3591

Qu'est ce que tu essayes de faire là ?

if (mysql_num_rows($result) == 1)
{
header ('Location: index.php');
}
session_start();

Bonjour, je tente de faire ça : si le login et le mdp sont égaux à ceux de la BDD, je met les info. en session et je redirige vers index.php. (Pour le moment je m'entraine)

Pourquoi utiliser la variable $data ($data = (mysql_fetch_array($result) ); ) puisqu'elle contient par définition les variables utilisateur et mdp envoyé par POST ?

Je ne le savais pas, je débute encore.

Mon but ultime est d'avoir un formulaire qui pointe vers un script php comme celui ci-dessous, et qui fait une connection sur un annuaire ldap. J'aimerai ramenner les info de l'utilisateur qui c'est logguer sur ma page d'authentification (formulaire). Si les info saisies dans le formulaires sont identiques à celles ramenés de ldap, alors je redirige vers index.php. Pour le moment je patauge, je ne sais pas quoi faire des variables du début du script ($server...), si je l'ai remplie en dur avec mes identifiants ldap, le script me ramène bien mes infos, mais je ne sais pas le faire en les saisissant dans le formulaire. Si vous m'avez compris merci :) Je bataille avec ça depuis 3 jours, pas facile de débuter.

<?php
$server =
    $person =
  $rootdn =
    $rootpw =

    ///1ère étape : essai de connexion au serveur ldap
    $ds = @ldap_connect($server);
    // on teste : le serveur LDAP est-il trouvé ?
    if ($ds)
    {
        //echo "Le résultat de connexion est " . $ds . "<br>";
    }
    else
    {
        //die("connexion impossible au serveur LDAP<br>");
    }
    @ldap_set_option($ds, LDAP_OPT_SIZELIMIT, 50);

    //2ème étape : on effectue une liaison au serveur, ici de type "anonymous"
    $r = @ldap_bind($ds, $rootdn, $rootpw);

    //3ème étape : on effectue une recherche anonyme, avec le dn de base,
    $dn = "dc=....., dc=......, dc=....";

    $filtre="(|(sn=$person*)(cn=$person*))";

    $sr = @ldap_search($ds, $dn, $filtre);
 
    $info = @ldap_get_entries($ds, $sr);
    if ($info["count"] < 1)
    {
        ?>
        <script type="text/javascript">
            alert("Compte ou mot de passe erroné.");
        </script>
        <?php
        exit;
    }


    print("<table border=0>");
    print("<tr><th align='left'>Nom complet : </th><td>" . @$info[0]["displayname"][0] . "</td></tr>");
    print("<tr><th align='left'>Compte matriculaire : </th><td>" . @$info[0]["cn"][0]. "</td></tr>");
    print("</table>");
?>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<head>
<title>Base des congés</title>
<meta http-equiv="Content-Language" content="fr" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link type="text/css" rel="stylesheet" href="style.css" />
 
<title>Formulaire d'authentification</title>
 
</head>
 
<body>
<br><br><br><br>
<div id="titre">
Base des congés
</div>
<br><br><br><br>
 
<div id="authenti">
<hr color=#C0C0C0></hr>
Identifiez-vous
<hr color=#C0C0C0></hr>
</div>
<br><br><br><br><br><br>
<form method="post" action="verif_authen.php">
 
<TABLE BORDER="0" align=center>
<TR>
<TH ALIGN="left">Utilisateur :</TH>
<TD><input type="text" name="utilisateur" value=""></TD>
</TR>
<TR></TR>
<TR></TR>
<TR>
<TH>Mot de passe :</TH>
<TD><input type="password" name="mdp" value=""></TD>
</TR>
<TR></TR><TR></TR><TR></TR><TR></TR>
<TR>
<TH ALIGN=left><input type="reset" name="reset" value="Effacer"></TH>
<TH ALIGN=center><input type="submit" name="connection" value="  Connection  "></TH>
</TR>
</TABLE>
 
</form>
</body>
</html>




lundi 13 octobre 2008 à 15:03:35 | Re : Page blanche sur session_start

Flachy Joe

Voila un exemple d'authentification par header HTML et base SQL

<?php
    //Limitation de l'accès
    if (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])){
        $user = $_SERVER['PHP_AUTH_USER'];
        $pass = $_SERVER['PHP_AUTH_PW'];

        mysql_connect('localhost', 'root', '');
        mysql_select_db('gestion_conges');
        //requête vers la table users
        $query = "SELECT utilisateur FROM users WHERE utilisateur = '".$_POST['utilisateur']."' AND mdp = '".$_POST['mdp']."' ";

        // Execute la requete
        $result = mysql_query($query);

        // Regarde les valeurs retournees par la base
        if (! mysql_num_rows($result) == 1)
            $user = 'none';
    }else
        $user = 'none';

    if ($user == 'none'){
        header('WWW-Authenticate: Basic realm="Authentifiez vous"');
        header('HTTP/1.0 401 Unauthorized');
        // Ici débute la page en cas d'erreur de login
        echo <<<ERR
<html>
  <head>
    <meta/>
    <title></title>
  </head>
  <body>
    <h1>Acc&egrave;s non autoris&eacute;</h1>
    <p><a href=".">Identifiez vous.<a></p>
  </body>
</html>
ERR;
        // Fin de la page d'erreur de login
        exit; //Termine l'interprétation du PHP pour cette page, rien de ce qui suit ne sera utilisé.
    }else{
        session_start();
        //Définition de variables de session.
        $_SESSION['user'] = $user;
        $_SESSION['uid'] = uniqid();

        //ici débute la page protégée
?>
<html>
  <head>
    <meta/>
    <title></title>
  </head>
  <body>
    <h1>
       Console d'administration
    </h1>
    <?php
    if ($user == 'root'){
    ?>
    <div id="console" style="height:50%; background-color:black; color:white; overflow:auto; border:1px inset;">
    </div>
    <form action="javascript:send()">
     <input type="text" id="commande" style="width:100%; overflow:auto" />
    </form>
    <script type="text/javascript" src="ajax.js"></script>
    <script type="text/javascript">
      function send(){
        var cmd = $('commande');
        request("exec.php", "<?php echo htmlspecialchars(SID); ?>&cmd=" + cmd.value, $('console'));
      }
      send();
    </script>
    <?php
    }
    ?>
    <div style="text-align:center;">
      <h2>
        <a href="download.php" target="_new">R&eacute;cup&eacute;rer des fichiers</a>
        &nbsp;|&nbsp;
        <a href="upload.php" target="_new">Envoyer des fichiers</a>
      </h2>
    </div>
  </body>
</html>

<?php
        //Fin de la page protégée
    }
?>

Flachy Joe
« Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. » Les Shadoks<
lundi 13 octobre 2008 à 21:05:42 | Re : Page blanche sur session_start

bruno3591

Merci pour ta réponse flachy joe. J'ai 2 erreurs sur cette ligne :

 //requête vers la table users
        $query = "SELECT utilisateur FROM users WHERE utilisateur = '".$_POST['utilisateur']."' AND mdp = '".$_POST['mdp']."' ";

Voici les erreurs :

Notice: Undefined index: utilisateur in C:\Program Files\EasyPHP 2.0b1\www\authentification2.php on line 10

Notice: Undefined index: mdp in C:\Program Files\EasyPHP 2.0b1\www\authentification2.php on line 10


Il y aurais un moyen de passer par un formulaire html plutot qu'une fenètre windows pour la connection ? :)
lundi 13 octobre 2008 à 21:21:35 | Re : Page blanche sur session_start

Flachy Joe

Ben oui, j'ai recollé ton bout de code dans le mien sans l'adapter donc :

        $user = $_SERVER['PHP_AUTH_USER'];
        $pass = $_SERVER['PHP_AUTH_PW'];

        mysql_connect('localhost', 'root', '');
        mysql_select_db('gestion_conges');
        //requête vers la table users
        $query = "SELECT utilisateur FROM users WHERE utilisateur = '".$user."' AND mdp = '".$pass."' ";

Sinon en effet tu peux utiliser un formulaire plutôt que les header HTTP.
J'ai bien l'impression qu'un chouille de recherche sur le site devrait te satisfaire...

Flachy Joe
« Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. » Les Shadoks<

1 2

Cette discussion est classée dans : page, formulaire, session, start, blanche


Répondre à ce message

Sujets en rapport avec ce message

Session & passage de var avec formulaire [ par ironnyc ] Salut a tous!j ai un petit prob avec les sessions.Pourquoi session_start() detruit tout le contenu des variables que j'envoye par un formulaire avec d session_start sur ts page de site ? [ par tibine974 ] Meuh ! Fais la vache Yo ! voilà deux questions qui me permetront je l'espére de devenir une lumiére : 1°) Dois-je mettre session_start(); sur tous l Actualiser la page et $_SESSION [ par lagombe ] Bonjour, Tout d'abord une grand merci à arnal69130 pour sa source qui marche à merveille, si ce n'est un petit souci : je m'explique : j'ai un formul Je n'arrive pas a démarer une session via session_start(); [ par Icarius44 ] Bonjour à tous, j'ai eu beau chercher j'ai pas trouver, je tente de créer/ouvrir une session avec la fonction session_start() mais il m'affiche alors Session pour les neuneus ! [ par Tartuffe ] Salut tous... Je suis le neuneu de service (mais, bon à ma décharge, tout ce que j'ai trouvé sur le web en matière de session n'est pas explicite, loi xmlhttp et session_start [ par fcdconnect ] Bonjour,j'ai un petit soucis de recuperation des info de ma session lors de l'envoi d'une requete avec xmlhttp :sur la page php qui execute la requete php session_start [ par regis62 ] Bonjour.je suis un débutant en php et j'ai un probléme.Dans la page acces_eleve un éléve se connect (grace à des formulaires).Dans la page requete_ele FONCTION SESSION START WARNING S'AFFICHE [ par mannoula_2007 ] Bonjour, j'ai un prob lorsque j'ai fais l'ajout des balises meta dans le code de la page index.php Warning: session_start() [function.session-start]: Récup de variable dans 1 page cible via une BDD, aprés saisie dans un formulaire [ par littleboy78 ] Bonjour à tous! Voici ma question. Je schématise. 1) Je dispose d’une base de données x_db qui contient une table « utilisateurs » dont les colonnes formulaire et base de données [ par blackitou ] je suis debutant en dreamweaver mais avec un peut de courage j'ai crerer un site web avec des animation flash ,horloge,... mais je veut ajouter une es


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,184 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales