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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Espace Membre


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 42
    Par défaut Espace Membre
    Bonjour,

    Voici un petit script sympa pour gérer simplement un espace membre.

    Mon problème est le suivant :
    Ce script redirige bien mes membres vers leur page attitré, mais j'aimerais que lorsque des mauvais identifiants sont tapé, qu'il soit redirigé vers une page défini, au lieu d'afficher un message sur la page d'envoi.

    Voici 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
    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
     
    <?
    error_reporting(E_ALL ^ E_NOTICE);
     
    if (isset($argv))
    	$option=implode($argv,"");
     
    if ($option == "")
    {
    	echo "<CENTER><FONT size=7>Identification</FONT>";
    	echo "<FORM name='entre' ACTION='index.php?verif' METHOD=POST>";
    	echo "Votre Pseudo : <INPUT TYPE='text' NAME='nom' SIZE=20 MAXLENGTH=40><BR><BR>";
    	echo "Votre Password : <INPUT TYPE='password' NAME='pass' SIZE=20 MAXLENGTH=40><BR><BR>";
    	echo "<INPUT TYPE='submit' VALUE=' Valider '>";
    	echo "</FORM></CENTER>";
    }
     
    elseif ($option == "verif")
    {
    	$tbnm= array();
    	$tbps= array();
    	$tbpg= array();
    	/// Entrez, suivant les modeles ci-dessous, les noms, mots de passe, et page de redirection
    	/// des membres...
    	$tbnm[0] = "nom1";
    	$tbps[0] = "pass1";
    	$tbpg[0] = "redirect1.html";
    	$tbnm[1] = "nom2";
    	$tbps[1] = "pass2";
    	$tbpg[1] = "redirect2.html";
    	$szn= sizeof( $tbnm );
    	$szp= sizeof( $tbps );
    	$szg= sizeof( $tbpg );
    	if ($szn != $szp || $szn != $szg || $szg != $szp)
    	{
    		echo "<FONT COLOR='red'>Erreur dans le fichier source...Veuillez contacter le WebMaster";
    		echo "<SCRIPT LANGUAGE='JavaScript'>";
    		echo "window.setTimeout('window.location = \"index.php?faux\"', 2000)";
    		echo "</SCRIPT>";
    			exit;
    	}
    	for($i=0; $i < $szn; $i++ )
    	{
    		if ($nom == $tbnm[$i] && $pass == $tbps[$i])
    		{
    			echo "<SCRIPT LANGUAGE='JavaScript'>";
    			echo "window.location = '$tbpg[$i]'";
    			echo "</SCRIPT>";
    				exit;
    		}
    	}
    	echo "<SCRIPT LANGUAGE='JavaScript'>window.setTimeout('window.location = \"index.php?faux\"', 1)</SCRIPT>";
    }
    elseif ($option == "faux")
    {
    echo "<CENTER>Vous n'&ecirc;tes pas inscrit dans la base de donn&eacute;e, veuillez vous y inscrire aupr&egrave;s du Webmaster</CENTER>";
    exit;
    }
    ?>
    Je vous remercie d'avance...

  2. #2
    Membre Expert
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Par défaut
    Bonjour,

    Je ne vois pas vraiment où est la difficulté...

    Tu as juste à créer une deuxième page php contenant le message d'erreur, et puis modifier le code de ta redirection pour la faire pointer sur la page.

    PS: je te conseillerai plûtot d'utiliser le header "Redirect" plûtot que de passer par javascript, car l'utilisateur a la possibilité de désactiver le javascript sur sa page

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 42
    Par défaut
    merci pour cette réponse très rapide.

    Je vois que tu es un membre expert, et de ce faite je peux comprendre que tu ne vois pas la difficulté ;-)

    De mon coté rien est simple car je débute, peux tu me donner (s'il te plait) un exemple de code avec une redirection sans compte à rebourg comme c'est le cas dans mon exemple. Je souhaiterais dans la mesure du possible, que dès lors que les identifiants sont faux, que la page d'erreur s'affiche sans avoir un texte sur la page de départ.

    Merci pour ton aide ;-)

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 42
    Par défaut
    suite de mes testes sur ce code, j'ai essayé différement, le code ne montre aucune erreur lors du chargement de la page, par-contre erreur lors de l'envoi du formulaire (identifiant correct ou incorrect).

    Voici l'erreur :
    Warning: Cannot modify header information - headers already sent by (output started

    Voici 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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    <?
    error_reporting(E_ALL ^ E_NOTICE);
     
    if (isset($argv))
    	$option=implode($argv,"");
     
    if ($option == "")
    {
    	echo "<CENTER><FONT size=7>Identification</FONT>";
    	echo "<FORM name='entre' ACTION='index.php?verif' METHOD=POST>";
    	echo "Votre Pseudo : <INPUT TYPE='text' NAME='nom' SIZE=20 MAXLENGTH=40><BR><BR>";
    	echo "Votre Password : <INPUT TYPE='password' NAME='pass' SIZE=20 MAXLENGTH=40><BR><BR>";
    	echo "<INPUT TYPE='submit' VALUE=' Valider '>";
    	echo "</FORM></CENTER>";
    }
     
    elseif ($option == "verif")
    {
    	$tbnm= array();
    	$tbps= array();
    	$tbpg= array();
    	/// Entrez, suivant les modeles ci-dessous, les noms, mots de passe, et page de redirection
    	/// des membres...
    	$tbnm[0] = "nom1";
    	$tbps[0] = "pass1";
    	$tbpg[0] = "redirect1.html";
    	$tbnm[1] = "nom2";
    	$tbps[1] = "pass2";
    	$tbpg[1] = "redirect2.html";
    	$szn= sizeof( $tbnm );
    	$szp= sizeof( $tbps );
    	$szg= sizeof( $tbpg );
    	if ($szn != $szp || $szn != $szg || $szg != $szp)
    	{
    			header ('location : faux.html');
    				exit;
    	}
    	for($i=0; $i < $szn; $i++ )
    	{
    		if ($nom == $tbnm[$i] && $pass == $tbps[$i])
    		{
     
    		}
    			header ('location : faux.html');
    				exit;
    	}
     
    }
    ?>
    Si quelqu'un peut venir à mon secours
    merci beaucoup...

  5. #5
    Membre Expert
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Par défaut
    Bonjour,

    Les headers DOIVENT être envoyés avant tout contenu HTML (ça doit être le premier truc que t'envoies ).

    PS: si c'est le cas,vérifie que tu n'as pas sauté une ligne avant le <?php

  6. #6
    Membre éclairé Avatar de arthuro45
    Profil pro
    Développeur du dimanche
    Inscrit en
    Juillet 2009
    Messages
    602
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur du dimanche

    Informations forums :
    Inscription : Juillet 2009
    Messages : 602
    Par défaut
    Bonsoir,

    Commence par ouvrir la balise PHP comme ceci : <?php au lieu <?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 42
    Par défaut
    merci pour votre patience...

    Donc ok pour mettre le code avant le contenu html, mais comment je peux faire pour retrouver mon contenu inclus dans le code, à savoir mon formulaire ???

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

Discussions similaires

  1. Réponses: 197
    Dernier message: 27/04/2021, 01h11
  2. Espace membre
    Par Sub0 dans le forum Langage
    Réponses: 474
    Dernier message: 14/11/2014, 16h23
  3. Redirection personnalisée espace membre
    Par vinche999 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 28/01/2006, 23h39
  4. [Sécurité] espace membre
    Par Emcy dans le forum Langage
    Réponses: 5
    Dernier message: 24/01/2006, 20h13
  5. [Sécurité] Probleme d'espace membre
    Par warmup dans le forum Langage
    Réponses: 4
    Dernier message: 01/12/2005, 02h13

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