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

Vue hybride

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Par défaut Header et echo
    Bonjour a toutes et a tous,
    Mon problème est surement tres petit masi ej comprend pas commetn ca se fais que cela ne fontionne pas ..
    J'ai fais un petit formulaire de connexion connecté directement a la base de donnée voulu. Ensuite je veux lui dire que si le champ du formulaire est faux alors afficher un message d'alerte et redirigé le user vers ma page de formulaire mas pas moyen je vous montre le code :
    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');
    		}	
    		else {
    			echo '<script language="Javascript"> alert ("Erreur Login ou mot de passe" ) </script>';
    			header ('Location: connexion.php');	
    		}
    		mysql_close();
    	}
     
    	else {
    		echo '<script language="Javascript"> alert ("Vous n\'avez pas accès a cette page" )</script>';
    		header ('Location: connexion.php');
    	}
    }
    ?>
    Est ce que quelqu'un aurait une solution svp ?
    Merci a tous bis

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    + Explications et correction de l'erreur 'headers already sent' !

    Merci de faire un minimum de recherche avant de poster...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    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 bovino je n'ai pas d'erreurs !!
    C'est juste que si je cache le header en commentaire mon alert s'affiche si j'affiche mon header dans mon code il ne s'affiche pas et je ne comprend pas pourquoi c'est tout

  4. #4
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    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 papajoker j'essaie ;p

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Par défaut
    Ca me renvoi bien au connexion.phph mais mon mess d'erreur n'apparait pas grrrr

  6. #6
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 324
    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 324
    Par défaut
    lol m'en doute, il faut l'afficher c'est qu'en meme le minimum

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (isset($_GET['err'])){
    echo '<script language="Javascript"> alert ("'.htmlentities($_GET['err']).'" ) </script>';
    }
    -------------------
    de plus, il faut utiliser urlencode() et urldecode() pour le GET

  7. #7
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par Bovino Voir le message
    + Explications et correction de l'erreur 'headers already sent' !

    Merci de faire un minimum de recherche avant de poster...
    Tu pourrais au moins essayer de lire et de comprendre !
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Par défaut
    oui j'ai lu ceci mais il ne m'affiche aucune erreur de code quand j'execute c'est bizar .. J'ai mit d'abord de header avant le echo mais il va direct ou la redirection doit etre faite

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 429
    Par défaut
    Donc si je ne peux utiliser de echo avec header comment je dois faire pour afficher un message d'erreur et redirectionner ma page ..
    J'ai essayer le get dans la condition if et j'ai essayer le header de papajoker mais il ecoute pas le vilain programme


    Mais GET ne sert pas uniquement a recuperer des variable venant d'un formulaire ?

  10. #10
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 324
    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 324
    Par défaut
    je me repete

    PAS POSSIBLE d'afficher un message dans cette page !!!!!!!!

    DONC
    tu va transmettres (par GET) ton message a la page SUIVANTE.

    Dans la PAGE SUIVANTE, tu vas tester si tu as la valeur du GET (err) et si oui, tu vas afficher le message passé en GET .

    Tu as bien sur TOUT le code !
    il faut juste que tu le places au bon endroit

  11. #11
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 324
    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 324
    Par défaut
    je te l'ai déjà dit hier?)

    ne jamais afficher le moindre caractère avec un header()

    une solution pour les messages ?
    oui, une seule afficher ce message a la page d'après !

    1) tu peux passer ton message par GET
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header ('Location: connexion.php?err=Erreur Login ou mot de passe');
    2) passer par session
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['erreur']='Erreur Login ou mot de passe';
    A toi de lire ce message par GET ou SESSION, de l'afficher et l'effacer(session)

    -------------
    lignes 21 et 30 pour toi

  12. #12
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 324
    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 324
    Par défaut
    [quote=papajoker;7535042]je te l'ai déjà dit hier?)

    ne jamais afficher le moindre caractère avec un header()

    A toi de lire ce message par GET ou SESSION, de l'afficher et l'effacer(session)

  13. #13
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    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 j'ai juste recopier ton if et ton header c'est tout !

    J'ai essayé ceci mais pareil ca fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    elseif (isset($_GET['err'])){
    	$_GET['err']="Erreur Login ou mot de passe";
    	echo '<script language="Javascript"> alert ("'.htmlentities($_GET['err']).'" ) </script>';
    	header ('Location: connexion.php');
    }

  14. #14
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 324
    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 324
    Par défaut
    Citation Envoyé par papajoker Voir le message
    je te l'ai déjà dit hier?)

    ne jamais afficher le moindre caractère avec un header()

  15. #15
    Membre éclairé
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    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 y'a une location dans mon header y'a pas de caractere papajok' !!

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

Discussions similaires

  1. echo & header
    Par reims87 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 19/06/2012, 11h39
  2. pas d'erreur d'un echo avant header('location:)';
    Par __fabrice dans le forum Langage
    Réponses: 1
    Dernier message: 18/04/2008, 12h03
  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, 16h31
  4. Envoyer un message icmp (Echo Request)
    Par ovdz dans le forum Développement
    Réponses: 5
    Dernier message: 19/06/2003, 14h14
  5. [MFC] image dans un header de CListCtrl
    Par tut dans le forum MFC
    Réponses: 3
    Dernier message: 11/06/2003, 15h26

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