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 :

Header et echo


Sujet :

Langage PHP

  1. #21
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 333
    Par défaut
    je comprend pas, tu fais 1 pas en avant et 3 en arrière

    je regarde encore les documents
    je rêve la !

    tu te rends pas compte que maintenant ton code n'a ni queue ni tête ?

  2. #22
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Par défaut
    je viens d'essyer ceci mais il me retourne une erreur de syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    elseif ( empty($_POST['login']) or empty($_POST['pass'])) {
    	$_GET['erreur']=1;
    	$_GET['erreur']=$erreur
    	header('Location: ajouter.php?'.$erreur.'');
    }
    il rentre bien dans ma condition mais elle n'est pas bonne je pense ...

  3. #23
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Par défaut
    Pourquoi il a ni queue ni tete ?
    Tu m'a dit de mettre get sur ma page et de l'appeler sur lautre ...


    -----------------

    Je ne comprend pas en quoi le ulencode et le urldecode vont été utile ? pourquoi je voudrais codé une chaine en url ? et la decoder ?

    -----------------

    Tout les exemples que trouve sur Google sont avec a Href et non avec header ..
    Je ne comprend pas le principe d'utiliser un GET il s'agit de recuperer une variables présente dans une URL mais la je créer une variable erreur je ne sais même pas ce que je dois mettre dedans ..

    Je pensais quil fallait initialiser la variable avec GET dans la page1 et l'appeler dans la page2 .. Et si elle était vérifié dans la page2 alors afficher mon message d'erreur dans mon echo ...

    Et au final c'est plus du tout ca je suis perdue je vous avoue ...

    ----------------------

    J'ai essayer autre chose alors dans membre.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
    <?php
    // on teste si le visiteur a soumis le formulaire de connexion
    if (isset($_POST['connexion'])) {
    echo '<script language="Javascript"> Connexion OK ! </script>';
     
    		if ( !empty($_POST['login']) && !empty($_POST['pass'])) {
     
    			$base = mysql_connect ('localhost', 'root', '');
    			mysql_select_db ('lcesa', $base);
     
    			// on teste si une entrée de la base contient ce couple login / pass
    			$sql = 'SELECT count(*) as nb FROM auth_table WHERE username="'.mysql_escape_string($_POST['login']).'" AND password="'.mysql_escape_string(($_POST['pass'])).'"';
    			$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
     
    			$result=mysql_fetch_assoc($req);	
     
    			if ($result['nb'] == 1) {
    					header('Location: ajouter.php');
    			}			
     
    			mysql_close();
     
    		}
     
    		else {
    			//$_GET['erreur']=1;
    			header('Location: ajouter.php');
    			}						
    }
     
    ?>
    Et dans ajouter.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
     
    	if ( empty($_POST['login']) or empty($_POST['pass'])) {
    		echo '<script language="Javascript"> alert Le login ou le mot de passe n\'ont pas été saisis" ) </script>';
    	}
     
    	?>
    Ceci m'affiche bien ajouter.php mais malheureusement sans entré dans ma condition sur ajouter.php

  4. #24
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Par défaut
    Je me suis debrouiller auterment, j'ai fais un echo simple avec un bouton retour et tout fonctionne merci a tous pour votre aide precieuse !!!

  5. #25
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 333
    Par défaut
    Lorsque je t'avais donner le code, il y a 10..posts ! tu n'avais qu'a copier bêtement

    remplacer tes 2 header() par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header ('Location: connexion.php?err='.urlencode('Erreur Login ou mot de passe'));
    POINT final, tes conditions if étaient bonnes
    et toi tu l'a recopier en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $_GET['erreur']=1;
    	$_GET['erreur']=$erreur
    	header('Location: ajouter.php?'.$erreur.'');
    Bravo tu as de l'imagination

    dans connexion.php

    recopier bêtement mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (isset($_GET['err'])){
    echo '<script language="Javascript"> alert ("'.htmlentities(urldecode($_GET['err'])).'" ) </script>';
    }
    et toi tu l'a transformé en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (isset($_GET['erreur']) == 1 ) {
    		echo '<script language="Javascript"> alert ("'.htmlentities($_GET['erreur']).'" ) </script>';
    }

    pourquoi ne pas le copier bêtement ?????????????????


    Tes conditions if( empty($_POST['login'])) fonctionnaient , toi tu as tout cassé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if ( !empty($_POST['login']) && !empty($_POST['pass'])) { // si login et pass sont non vide
    ...
        if ($result['nb'] == 1) {
            ok
        }
        elseif ( empty($_POST['login']) or empty($_POST['pass'])) { si post ou pass est vide !!!!!!
            erreur Le login ou le mot de passe n\'ont pas été saisis
        }
    }

    -----------------------------
    j'ai ecrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<script language="Javascript"> alert ("'.htmlentities($_GET['erreur']).'" ) </script>';
    toi tu recopis il y a 2 post :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<script language="Javascript"> alert Le login ou le mot de passe n\'ont pas été saisis" ) </script>';
    Que alert() soit une fonction pas grave pour toi ! et donc bien sur même si tu arrive ici, aucune chance de voir le message car il y a une erreur javacript bravo le cumul

  6. #26
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Par défaut
    Mais je recopie ou ton if et tes echo ?

    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
    <?php
    // on teste si le visiteur a soumis le formulaire de connexion
    if (isset($_POST['connexion'])) {
    echo '<script language="Javascript"> Connexion OK ! </script>';
     
    	if ( !empty($_POST['login']) && !empty($_POST['pass'])) {
    		$id = mysql_connect ('localhost', 'root', '');
    		mysql_select_db ('lcesa', $id);
    		// on teste si une entrée de la base contient ce couple login / pass
    		$sql = 'SELECT count(*) as nb FROM auth_table WHERE username="'.mysql_escape_string($_POST['login']).'" AND password="'.mysql_escape_string(($_POST['pass'])).'"';
    		$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    		$result=mysql_fetch_assoc($req);	
    		if ($result['nb'] == 1) {
    			header('Location: ajouter.php');
    		}	
    		elseif ( empty($_POST['login']) or empty($_POST['pass'])) {
    			echo '<script language="Javascript"> alert ("Erreur Login ou mot de passe" ) </script>';
    			header ('Location: connexion.php?err='.urlencode('Erreur Login ou mot de passe'));	
    		}
    		mysql_close();
    	}
     
    	else {
    		echo '<script language="Javascript"> alert ("Vous n\'avez pas accès a cette page" )</script>';
    		header ('Location: connexion.php?err='.urlencode('Erreur Login ou mot de passe'));
    	}
    }
    ?>
    J'en suis la sauf que j'ai toujours mon echo et mon header dans le meme bateau et ca ca ne va pas !!

  7. #27
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Par défaut
    En poursuivant mes petites recherches, les gens disent sur divers forum pour ceux ayant le même soucis que moi d'utiliser un refrech dans le header mais est ce que cela serait vraiment utile dans mon cas precis ?

  8. #28
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 333
    Par défaut
    Citation Envoyé par gwendoline-bricout Voir le message
    Mais je recopie ou ton if et tes echo ?

    pour le 10 000ème : Il n'est pas possible de faire un echo dans cette page !!!

    j'ai pourtant ecrit :
    Citation Envoyé par papajoker Voir le message
    dans connexion.php recopier bêtement mon code:
    Essaye de réfléchir :
    si les parametres ne sont pas bons =>
    tu rediriges vers la page connexion.php qui, elle même affiche l'erreur !!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    MAIS, comme dit + haut, tu as cassé aussi tes if() donc tu ne gères même plus les conditions d'erreurs

  9. #29
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Par défaut
    Alors le GET est dans mon connexion.php
    Et j'ai remis mes if comme ils étaient avec la redirection vers connexion.php si les champs sont vides

    Les if doivent bien être dans membre.php non ?

  10. #30
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Par défaut
    Code de membre.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
    <?php
    // on teste si le visiteur a soumis le formulaire de connexion
    if (isset($_POST['connexion'])) {
     
    	if ( !empty($_POST['login']) && !empty($_POST['pass'])) {
    		$id = mysql_connect ('localhost', 'root', '');
    		mysql_select_db ('lcesa', $id);
     
    		// on teste si une entrée de la base contient ce couple login / pass
    		$sql = 'SELECT count(*) as nb FROM auth_table WHERE username="'.mysql_escape_string($_POST['login']).'" AND password="'.mysql_escape_string(($_POST['pass'])).'"';
    		$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
     
    		$result=mysql_fetch_assoc($req);	
     
    		if ($result['nb'] == 1) {
    			header('Location: ajouter.php');
    		}	
    		elseif ((empty($_POST['login']) or empty($_POST['pass'])) and isset($_POST['connexion'])){ 
    			header ('Location: connexion.php');	
    		}
    		mysql_close();
    	}
     
    //else {
    		//echo '<script language="Javascript"> alert ("Vous n\'avez pas accès a cette page" )</script>';
    		//header ('Location: erreur.php');
    	//}
    }
    ?>
    Code de connexion.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <form action="membre.php" method="post">
    Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
    Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
    <input type="submit" name="connexion" value="Connexion">
    </form>
     
    <?php
    if (isset($_GET['err'])){
    echo '<script language="Javascript"> alert ("'.htmlentities(urldecode($_GET['err'])).'" ) </script>';
    }
    ?>

  11. #31
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Par défaut
    J'ai fais ma redirection dans admin.php (j'ai changer le nom de page c'était membre.php)
    et j'ai tenté ceci dans connexion.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
     
    if (isset($_POST['connexion2'])) {
    	if (empty($_POST['login3']) && empty($_POST['pass3'])) {
    		//header('Location: connexion.php');
    		echo '<script language="Javascript">alert ("Au moins un des deux champs est vide" )</script>';
    	}
    }
    ?>
    Mais il ne rentre pas dans mon if car la condition ne se verifie pas ..
    Du coup est ce que j'ai pensais créer une autre page erreur.php ou j'afficherai mes erreurs..
    Mais le probleme resterai le même .. La redirection vers ma page de connexion :/

    Et je n'arrive pas a comprendre comment se servir du GET['err'] de papajok' ...

  12. #32
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 333
    Par défaut

    a 9h11 ce matin ta page connexion.php était bonne parfaite !

    je te repete pour la 50 000eme fois (et derniere)

    dans (ancienne?)membre.php, tu fais tes redirection de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $message=" le message qui va etre affiché par javascript dans la page suivante";
    header('Location: ta_page_php_que_tu_desires.php?err=' . urlencode($message) );
    ---------------------
    tes conditions if (_POST) sont toujours farfelues dans membre, mais ca c'est un autre probleme
    je l'ai expliqué , je répété pas.

  13. #33
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Par défaut
    Coucou
    Donc dans admin.php (ancien membre.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
    <?php
    if (isset($_POST['connexion2'])) {
    	if (!empty($_POST['login3']) && !empty($_POST['pass3'])) {
     
    		$base = mysql_connect ('localhost', 'root', '');
    		mysql_select_db ('lcesa', $base);
     
    		// on teste si une entrée de la base contient le couple login / pass
    			$sql = 'SELECT count(*) as nb FROM admin WHERE user="'.mysql_escape_string($_POST['login3']).'" AND pass2_md5="'.mysql_escape_string(($_POST['pass3'])).'"';
    			$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
     
    			$result=mysql_fetch_assoc($req);
     
    		//mysql_free_result($req);
    		mysql_close();
     
    		// si on obtient une réponse, alors l'utilisateur est un membre
    		if ($result['nb'] == 1) {
    			session_start();
    			$_SESSION['login3'] = $_POST['login3'];
    			header('Location: ajouter.php');
    			exit();
    		}
    		// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
    		elseif ($result['nb'] == 0) {
    			$message=" Le mot de passe ou le login est faux";
    			header('Location: connexion.php?err=' . urlencode($message) );
    		}
    	}
    	else {
    		//header('Location: connexion.php');
    	}
    }
    ?>
    Dans la page ou je redirectionne le user donc vers la page de depart, connexion.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
     
    if (isset($_GET['err'])){
    echo '<script language="Javascript"> alert ("'.htmlentities(urldecode($_GET['err'])).'" ) </script>';
    }
    ?>

  14. #34
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Par défaut
    OKOK ca fonctionne j'ai arraché les doc de GET je ne comprenais pas le but et la difference entre un GET et POST

    Si je veux mettre un deuxieme message d'erreur, je peux utiliser un autre GET du coup ?

  15. #35
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Par défaut
    C'est bon j'ai piger le truc !!
    Tout fonctionne correctement !
    merci papajok'
    De ta patiente et de ton aide !!!!!

  16. #36
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 333
    Par défaut
    connaitre le POST sans le GET voila qui est original

    http://julien-pauli.developpez.com/t...age_3#LIII-B-1

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. echo & header
    Par reims87 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 19/06/2012, 12h39
  2. pas d'erreur d'un echo avant header('location:)';
    Par __fabrice dans le forum Langage
    Réponses: 1
    Dernier message: 18/04/2008, 13h03
  3. mise en page (Header and Footer) en XML-XSL.
    Par christine dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 01/03/2004, 17h31
  4. Envoyer un message icmp (Echo Request)
    Par ovdz dans le forum Développement
    Réponses: 5
    Dernier message: 19/06/2003, 15h14
  5. [MFC] image dans un header de CListCtrl
    Par tut dans le forum MFC
    Réponses: 3
    Dernier message: 11/06/2003, 16h26

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