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 :

session_start() = page qui charge indéfiniment.


Sujet :

Langage PHP

  1. #1
    Membre éprouvé Avatar de SirDarken
    Profil pro
    Développeur Web
    Inscrit en
    Février 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services de proximité

    Informations forums :
    Inscription : Février 2004
    Messages : 897
    Par défaut session_start() = page qui charge indéfiniment.
    Voila mon souci je crée en ce moment un panneau d'identification, au début j'ai voulu conserver ma connection (crée par Dreamweaver CS3), mais ca ne fonctionne pas, j'ai donc crée tout à part (séparé l'identification - de mes insertions)

    Je part donc de index.php, qui envoie les informations à identification.php.
    LA page index suivant le resultat de deux fonctions de fonction.php affiche soit un formulaire (celui de login) soit une page d'accueil, pour être tranquille dans mes includes, j'utilise include.php qui contient tout les includes.
    J'ai voulu donc lancer le session_start(), mais dés lors ma page charge indéfiniment sans rien faire.

    Je suis vraiment perdu sur ce coup.
    include.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    //session_start() <-- lui me tue.
    include_once("fonction.php");
    ?>
    fonction.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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    <?php
    //Connection
    define ('DB_SERVER', 'localhost'); 
    define ('SERVER_USER', 'dupuy'); 
    define ('SERVER_PASSWORD', 'dupuy'); 
    define ('DB_DATABASE', 'dupuy');
    //fin
     
    //Verifie si l'agence est valide.
    function agence_valide(){
    	if(isset($_SESSION['agence_nom']) && isset($_SESSION['agence_statut']) && $_SESSION['agence_statut'] == "valide" && isset($_SESSION['agence_num'])){
    		return true;
    	}
    	else{
    		return false;
    	}
    }
    //crée l'agence au niveau session et verifie l'identification.
    function log_agence($nom,$pass){
    	$db = mysql_connect(DB_SERVER,SERVER_USER,SERVER_PASSWORD) or die(mysql_error());
    	mysql_select_db(DB_DATABASE,$db) or die(mysql_error()); 
    	$insertSQL = "SELECT COUNT(*) FROM agence WHERE a_nom='$nom' AND a_pass='$pass'";
      	$req = mysql_query($insertSQL) or die(mysql_error());
    	$retour = mysql_num_rows($req);
    	if($retour == 0){
    		mysql_close();
    		return false;
    	}
    	$_SESSION['agence_nom'] = $nom;
    	$_SESSION['agence_statut'] = "valide" ;
    	$_SESSION['agence_num'] = get_id_agence($nom);
    	mysql_close();
    	return true;
    }
    function get_id_agence($ag_nom){
    	$db = mysql_connect(DB_SERVER,SERVER_USER,SERVER_PASSWORD) or die(mysql_error());
    	mysql_select_db(DB_DATABASE,$db) or die(mysql_error()); 
    	$sql = "SELECT idAgence,a_nom FROM agence WHERE a_nom='$ag_nom'";
    	$req = mysql_query($sql);
    	$retour = mysql_fetch_row($req);
    	mysql_close();
    	return $retour[0];
    }
    function admin_valide(){
    	if(isset($_SESSION['adm_nom']) && isset($_SESSION['adm_statut']) && $_SESSION['adm_statut'] == "valide" && isset($_SESSION['adm_num'])){
    		return true;
    	}
    	else{
    		return false;
    	}
    }
    ?>
    identification.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
     
    <?php
    include_once("include.php");
    if(isset($_POST['Submit']) && isset($_POST['nom']) && isset($_POST['pass'])){
    	if(isset($_POST['admin'])){
    	}
    	else{
    		echo($_POST['nom'].' '.$_POST['pass']);
    		if(log_agence($_POST['nom'],$_POST['pass'])){
    			@header("Location: ./index.php"); 
    		}
    		else{
    			@header("Location: ./index.php"); 
    		}
    	}
    }
    else{
    	@header("Location: ./index.php"); 
    }
    ?>
    En dernier la page d'index.ph
    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
     
    <?php
    include_once("include.php");
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>***</title>
    <link href="./res/dupuy.css" rel="stylesheet" type="text/css" />
    <script src="SpryAssets/SpryValidationTextField.js" type="text/javascript"></script>
    <link href="SpryAssets/SpryValidationTextField.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
    <?php
    include_once("header.php");
    if(agence_valide() || admin_valide()){
    	if(isset($_GET['page']) && $_GET['page'] != "index" && $_GET['page'] != "accueil"){
    		$filename = $_GET['page'].".php";
    		if (file_exists($filename)) {
    			include($_GET['page'].".php");
    		}
    		else {
    			if(agence_valide()){
    				include("acc_agence.php");
    			}
    			if(admin_valide()){
    				include("acc_admin.php");
    			}
    		}
    	}
    	else {
    		if(agence_valide()){
    			include("acc_agence.php");
    		}
    		if(admin_valide()){
    			include("acc_admin.php");
    		}
    	}
    }
    else{
    	echo('<div align="center">');
     	echo('<table width="500"><tr><td>');
     	echo('<fieldset><legend>Identification</legend>');
    	 echo('<form id="form1" name="form1" method="post" action="identification.php">');
     	echo('<div align="center">Login / Nom de l\'agence :<br />');
     	echo('<span id="sprytextfield1">');
     	echo('<input type="text" name="nom" id="nom" />');
     	echo('<span class="textfieldRequiredMsg">Une valeur est requise.</span></span><br />'); 
     	echo('Mot de passe:<br />');
     	echo('<span id="sprytextfield2">');
     	echo('<input type="text" name="pass" id="pass" />');
     	echo('<span class="textfieldRequiredMsg">Une valeur est requise.</span></span><br />Accés administrateur');
    	echo('<input type="radio" name="radio" id="admin" value="admin" />');
    	echo('<br />');
    	echo('<input type="submit" name="Submit" id="Submit" value="Identifiez-vous" />');
    	echo('</div>');
    	echo('</form>');
    	echo('</fieldset></td></tr></table></div>');
    }
    include_once("footer.php");
    ?>
    j'ai tronqué le reste de la page d'index.

    Donc voila j'aimerai savoir si il y a une raison au fait que dés lors que je lance ma session_start(), et bien plus rien de fonctionne.
    Merci si vous avez une piste (je sais que ca fait beaucoup à lire).

  2. #2
    Membre éprouvé Avatar de SirDarken
    Profil pro
    Développeur Web
    Inscrit en
    Février 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services de proximité

    Informations forums :
    Inscription : Février 2004
    Messages : 897
    Par défaut
    Bon euh sujet résolu, encore un mystère, j'ai crée un fichier session.php, j'ai mis dedans mes constantes, la connection sql, le select db, puis mon session start(), je le met dans include.php, tout marche.

    Je comprend encore moins le problème pour le coup, mais bon si un jour ca vous arrive, bah séparé tout en plein de fichier, semblerai qu'il préfere.
    (il étant une entité inconnu).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Afficher les données par PHP : la page charge indéfiniment
    Par smilly dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 01/04/2013, 22h01
  2. Reference à l'item qui à chargé la page.
    Par cleml12 dans le forum Développement Sharepoint
    Réponses: 7
    Dernier message: 07/10/2011, 09h49
  3. Page qui se charge a l'infini
    Par Hyoga dans le forum Internet
    Réponses: 1
    Dernier message: 20/07/2008, 16h38
  4. FORM qui charge deux fois ma page
    Par aloisio11 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 28/05/2008, 16h53
  5. Boutons Radios qui charge une page php différente
    Par nebule dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/11/2004, 15h25

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