message d'erreur : lien vers le serveur ne peut etre etabli... help!

message d'erreur : lien vers le serveur ne peut etre etabli... help! - PHP - Programmation

Marsh Posté le 08-02-2006 à 19:21:22    

Bonjour, je fais un formulaire d'inscription sous free.
J'obtiens ce message d'erreur :
 
Warning: mysql_select_db(): A link to the server could not be established in /var/www/free.fr/etc...
 
Voici la ligne de code qui permet la connection a mysql :
 
  mysql_connect($sql.free.fr,$monlogin,$motdepasse);
  mysql_select_db($monlogin);
 
Aidez moi siouplait !!!!  :(

Reply

Marsh Posté le 08-02-2006 à 19:21:22   

Reply

Marsh Posté le 08-02-2006 à 19:37:01    

Code :
  1. mysql_connect('sql.free.fr',$monlogin,$motdepasse);

Reply

Marsh Posté le 08-02-2006 à 19:45:21    

ok merci ca marche !
en fait j'ai fais ca :
 
mysql_connect('sql.free.fr','pseudo','mot de passe');
mysql_select_db($pseudo);
 
 
j'ai un autre probleme dans la page php de confirmation ici :
 
Warning: mysql_query(): A link to the server could not be established in /var/www/free.fr etc...
La requête qui compte le nombre de pseudos
$sql = mysql_query("SELECT COUNT(*) AS nb_pseudo FROM membres WHERE pseudo='".$pseudo."'" );
 
meme message d'erreur ici :
cherche la valeur du champ confirmation.
      $sql_info = mysql_query("SELECT confirmation FROM membres WHERE pseudo='".$pseudo."'" );
      $donnees_info = mysql_fetch_array($sql_info);
 
et pareil ici !Requête sql modifiant la valeur du champ confirmation.        
 mysql_query("UPDATE membres SET confirmation=1 WHERE pseudo='".$pseudo."'" );
 
 
Merci de me dire ce qui ne va pas !! :)


Message édité par jubjub le 08-02-2006 à 20:22:57
Reply

Marsh Posté le 09-02-2006 à 10:50:36    

tu fais bien la connexion et selection de base avant de tenter une requete?


---------------
MZP est de retour
Reply

Marsh Posté le 09-02-2006 à 11:04:18    

Et rassure moi, tu fais bien la connexion à chaque exécution d'un de tes script?

Reply

Marsh Posté le 09-02-2006 à 11:43:43    

oui

Reply

Marsh Posté le 09-02-2006 à 12:16:04    

si tu fais exactement ça :

Code :
  1. <?
  2. $link = mysql_connect('sql.free.fr','pseudo','pass');
  3. mysql_select_db('pseudo',$link);
  4. mysql_query("SELECT NOW()",$link);
  5. mysql_close($link);
  6. ?>


Ca te fait une erreur??


Message édité par dwogsi le 09-02-2006 à 12:28:02
Reply

Marsh Posté le 09-02-2006 à 13:17:41    

ca enleve bien nombre de messages d'erreur !!
merci ! :p  
 
ca donne ca :
<?php
   //requête qui compte le nombre de pseudos
   $link = mysql_connect('sql.free.fr','****','****');mysql_select_db('pseudo',$link);mysql_query("SELECT NOW()",$link);
   
   //si nombre est différent que zéro
   if (mysql_result($sql,0,'nb_pseudo') != 0);
   {
      //Sélection de la valeur actuelle du champ confirmation.
      }
      else
      {
   
   echo 'Erreur : le pseudo n\'existe pas !';
   }
?>
 
 
la ligne du else  en gras ne va pas !?! > unexpected T_ELSE .....


Message édité par jubjub le 09-02-2006 à 14:14:59
Reply

Marsh Posté le 09-02-2006 à 14:28:39    

le ; n'a rien à faire en fin de ligne du if.
 
Le echo 'Erreur : le pseudo n\'existe pas !';  ne marchera pas. le \' n'est pas intepreté dans une chaine en simple quote.


---------------
MZP est de retour
Reply

Marsh Posté le 09-02-2006 à 14:42:32    

jubjub a écrit :

en effet je me suis apercu du ; entre temps. par contre, du coup, ca me mets d'autres erreurs...j'en fini plus...
par exemple : pas de lien vers le serveur sur cette ligne :
 
//recherche de la valeur du champ confirmation...
      $sql_info = mysql_query("SELECT confirmation FROM membres WHERE pseudo='".$pseudo."'" );
________________________________________________________________________________________________________________________
et idem ici :
 
//Requête modifiant la valeur du champ confirmation...
         mysql_query("UPDATE membres SET confirmation=1 WHERE pseudo='".$pseudo."'" );
________________________________________________________________________________________________________________________
Sinon,  le \ me permet de pouvoir mettre le ' de n'existe...


Message édité par jubjub le 09-02-2006 à 14:48:00
Reply

Marsh Posté le 09-02-2006 à 14:42:32   

Reply

Marsh Posté le 09-02-2006 à 14:50:01    

cinocks a écrit :

le ; n'a rien à faire en fin de ligne du if.
 
Le echo 'Erreur : le pseudo n\'existe pas !';  ne marchera pas. le \' n'est pas intepreté dans une chaine en simple quote.

erreur, dans une chaine entre ' le \' est bien considéré comme le caractére ' normal.
C'est les échapement du genre '\n' (retour à la ligne) qui ne seront pas transformé en caractére spéciaux.

Reply

Marsh Posté le 09-02-2006 à 14:53:11    

jubjub > T'aurais pas un mysql_close au milieu de ton script?

Reply

Marsh Posté le 09-02-2006 à 15:11:46    

omega2 a écrit :

erreur, dans une chaine entre ' le \' est bien considéré comme le caractére ' normal.
C'est les échapement du genre '\n' (retour à la ligne) qui ne seront pas transformé en caractére spéciaux.


 
Tiens je viens d'apprendre un truc là.  [:payzan]


---------------
MZP est de retour
Reply

Marsh Posté le 09-02-2006 à 15:32:26    

j'ai enlevé mysql_close($link); en fin du code de dwogsi au post 6.
Ca resoud des problemes effectivement. ;)  
 
ca donne ca :
 
<?php $link = mysql_connect('sql.free.fr','*****','****');mysql_select_db('*****',$link);mysql_query("SELECT NOW()",$link);?>  
   
 <?php  //si  le nombre est différent de zéro
   if (mysql_result($sql,0,'nb_pseudo') != 0)   {
      //Sélection de la valeur actuelle du champ confirmation.
   }
      else
      {
   
   echo 'Erreur : le pseudo n\'existe pas !';
}
?>
 
probleme de la ligne en gras > Warning: mysql_result(): supplied argument is not a valid MySQL result resource


Message édité par jubjub le 09-02-2006 à 15:37:05
Reply

Marsh Posté le 09-02-2006 à 15:44:38    

$sql est il une variable contenant le résultat d'un mysql_query?
Vu que dans le code que tu nous montres, tu ne mets nulle part ce qui est retourné par mysql_query et que d'autre part, $sql n'est visiblement remplis nulle part, je doutes fort que ca soit le cas.

Reply

Marsh Posté le 09-02-2006 à 15:48:17    

Ouai enfin tout ce qui est marqué dans la doc en gros.........;
rtfm, bla bla...

Reply

Marsh Posté le 09-02-2006 à 15:49:26    

http://fr2.php.net/manual/fr/function.mysql-result.php
 
C'est quoi $sql? Une ressource? Pour quelle requete? On s'y perd. Là je vois que $sql n'est pas declarée.


---------------
MZP est de retour
Reply

Marsh Posté le 09-02-2006 à 15:52:09    

Je veux pas être méchant mais quand je vois quelqu'un qui laisse un mysql_close avant ses requetes et qui se demande pourquoi ca marche pas... Franchement faut aller revoir les bases!


Message édité par dwogsi le 09-02-2006 à 15:52:22
Reply

Marsh Posté le 09-02-2006 à 15:56:22    

ou voir :o


---------------
MZP est de retour
Reply

Marsh Posté le 09-02-2006 à 16:08:04    

Très juste!

Reply

Marsh Posté le 09-02-2006 à 16:37:13    

et bien ! je ne suis pas expert c'est bien pourquoi je demande de l'aide pour rectifier les codes !
Merci pour tout.


Message édité par jubjub le 09-02-2006 à 16:38:52
Reply

Marsh Posté le 09-02-2006 à 17:04:11    

voila, ca marche, je donne le code quand meme :
 

Code :
  1. <?php
  2. //Indentifiants de connexion à la base de données.
  3. require("config.inc.php" );
  4. if (isset($_GET['pseudo']) && !empty($_GET['pseudo']))
  5. {
  6.      $pseudo = htmlentities(addslashes($_GET['pseudo']));
  7.  
  8.    mysql_connect('sql.free.fr','****','****');
  9.    mysql_select_db('****');
  10.  
  11.  
  12.    $sql = mysql_query("SELECT COUNT(*) AS nb_pseudo FROM membres WHERE pseudo='".$pseudo."'" );
  13.  
  14.      if (mysql_result($sql,0,'nb_pseudo') != 0)
  15.    {
  16.      
  17.       $sql_info = mysql_query("SELECT confirmation FROM membres WHERE pseudo='".$pseudo."'" );
  18.       $donnees_info = mysql_fetch_array($sql_info);
  19.    
  20.            if ($donnees_info['confirmation'] == 0)
  21.       {
  22.                 mysql_query("UPDATE membres SET confirmation=1 WHERE pseudo='".$pseudo."'" );
  23.        
  24.                  echo '<p>Le compte ayant pour pseudo <strong>'.$pseudo.'</strong> a bien été crée ou modifié !<br />Vous pouvez maintenant vous <a href="connexion.html">connecter</a></p>';
  25.       }
  26.       else
  27.       {
  28.          echo 'Erreur : ce compte est déjà confirmé !';
  29.       }
  30.    }
  31.    else
  32.    {
  33.       echo 'Erreur : le pseudo n\'existe pas !';
  34.    }
  35.  
  36.    mysql_close();
  37. }
  38. else
  39. {
  40.   echo 'Erreur : aucun pseudo n\'est indiqué !';
  41. }
  42. ?>

Reply

Marsh Posté le 09-02-2006 à 17:09:33    

Pas terrible mais bon....

Reply

Marsh Posté le 10-02-2006 à 09:31:35    

Chez Free, le magicquotes est sur ON, je suis pas sur que ce soit utile de faire un addslash sur le GET...


---------------
D3
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed