caractere special

Eléphanteau du PHP | 23 Messages

07 avr. 2006, 15:46

Bonjour,
Je souhaite faire des interrogations sur une base de données via des pages html. Le mot de passe qui m'a été attribué (et que je ne peux pas en changer) comporte le caractère '@' et je n'arrive pas à me connecter car celui-ci est remplacé par '%20' lors de l'envoi du formulaire.
Quelqu'un peut-il m'aider à résoudre ce problème, merci d'avance

Rominou
Invité n'ayant pas de compte PHPfrance

07 avr. 2006, 16:38

Tu peux peut être essayer avec la fonction htmlentities()... Enfin, je dis peut être une ENORME connerie...

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

07 avr. 2006, 16:40

Effectivement je ne vois pas trop à quoi la fonction htmlentities va pouvoir servir ici :)

Moi je dirais plutôt de l'envoyer en POST plutôt qu'en GET déjà...

Tu essayes de te connecter par quel moyen ?

Eléphanteau du PHP | 23 Messages

10 avr. 2006, 08:46

J'ai envoyer en GET car la connexion ne marchait pas et je voulais voir d'où venait le problème. J'utilise les sessions pour me connecter à une base Mysql.
function connection($pServeur, $pNom, $pMotPasse, $pBase,$conn)
{
      global $G_SERVEUR;
      global $G_TABLESPACE_BASE;
      global $G_NB_MAX_TENTATIVE_CONNEXION;
      global $G_LOGIN;
      global $G_PASSWORD;
      
      if($conn != FALSE)
      {
           return TRUE;
      }

      // connexion au serveur
      $conn = mysql_pconnect($pServeur, $pNom, $pMotPasse);
      if(!$conn)
      {
           print "<CENTER><TABLE BORDER=1 BGCOLOR=white WIDTH=\"90%\"><TR><TD>";
           print "<DIV ALIGN=\"center\">&nbsp;<BR><FONT COLOR=red size=6 >ERREUR DE CONNEXION AU SERVEUR DE BASE DE DONNEES ".$pServeur."<BR>";
           print "ERREUR :".sgbd_erreur()."<BR>";
		   print "</FONT>&nbsp;<BR></DIV>";
           print "</TD></TR></TABLE></CENTER><BR>";
		   return FALSE;
      }
      // connexion à la base
      else 
      {    if(!mysql_select_db($pBase, $conn))
           {
               print "<CENTER><TABLE BORDER=1 BGCOLOR=white WIDTH=\"90%\"><TR><TD>";
               print "<DIV ALIGN=\"center\">&nbsp;<BR><FONT COLOR=red size=6 >ERREUR DE CONNEXION A LA BASE DE DONNEES ".$pBase."<BR>";
               print "ERREUR :".sgbd_erreur()."<BR>";
	     	   print "</FONT>&nbsp;<BR></DIV>";
               print "</TD></TR></TABLE></CENTER><BR>";
	    	   return FALSE;
           }
           else return TRUE;
      }
}
if ( connection($G_SERVEUR,$G_LOGIN,$G_PASSWORD,$G_TABLESPACE_BASE,&$conn) == FALSE )
{
	print "<html>
	<head><script language=\"javascript\">
	function Redirige() 
	{
		 location.href = \"echec_connect.html\" ; 
	}
 	</SCRIPT>
 	</head>

	<body bgcolor=\"#000000\" onLoad=\"setTimeout('Redirige()',0);\">
	</body></html>";

}
else
{
    print "<html>
    <head><title>Base de données Ucea</title>
    <script language=\"javascript\">
    function Redirige() 
    {
    location.href = \"protocoles/menu.php\" ; 
    }
    </SCRIPT>
    </head>

	<body onLoad=\"setTimeout('Redirige(????<?)',0);\">
	</body></html>";
}
 	

//*********************************************************************************
// ****** Enregistrement des variables
//*********************************************************************************

session_register("G_LOGIN");
session_register("G_PASSWORD");
session_register("G_SERVEUR");
session_register("G_TABLESPACE_BASE");

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

10 avr. 2006, 10:12

Si tu faisais un test plus simple déjà, pour voir si ça fonctionne, avant de passer par des fonctions compliquées...
// définition des variables

// connexion

// affichage des éventuelles erreurs
on y verrait plus clair