Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2644 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Ca marche pas..... mais pkoi ? Need help! ;-)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Ca marche pas..... mais pkoi ? Need help! ;-)

n°257455
le_duc
PlaTyPuS
Posté le 29-11-2002 à 22:06:53  profilanswer
 

Il me fait les 2 erreurs suivantes :
 
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in XXX on line 84
 
ligne 84

Code :
  1. $resultat = mysql_query ($request, $connexion);


 
Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in XXX on line 105
 
-> Message de mysql : [vide]
 
Ligne 105

Code :
  1. echo "<B>Message de MySQL :</B> " . mysql_error($connexion);


 
 
Voilà le code :
 

Code :
  1. <?php
  2.  if (isset($enregistrer))
  3.   include("connexion.php" );
  4.   $request = "INSERT INTO spartateur_spartaproprios (Id, Pseudo, Post_address, Mail_address, PM_address, FTP_address, FTP_port) "
  5.    . " VALUES ('$Id', '$Pseudo', '$Post', '$Mail', '$PM', '$FTP', '$Port') ";
  6.   $resultat = mysql_query ($request, $connexion);
  7.   if ($resultat)
  8.    {
  9.    echo "<p><strong>Le nouveau compte $Pseudo a bien été enregistré, voilà ses données : </strong>";
  10.    echo "<table class=\"tableau1\" border=\"1\" cellpadding=\"3\">";
  11.      while ($proprios = mysql_fetch_array ($resultat))
  12.        {
  13.     echo "<tr>
  14.       <td width=\"17%\" height=\"38\"><a href=\"". $url ."". $proprios["Post_address"] ."\">". $proprios["Pseudo"] ."</a></td>\n
  15.         <td width=\"38%\" height=\"38\">". $proprios["Mail_address"] ." / <a href=\"". $pm_url. "" .$proprios["PM_address"]. "\">PM</a></td>\n
  16.         <td width=\"25%\" height=\"38\">". $proprios["FTP_address"] ."</td>\n
  17.         <td width=\"5%\" height=\"38\" class=\"center\">". $proprios["FTP_port"] ."</td>\n
  18.         <td width=\"15%\" height=\"38\" class=\"center\"><a href=\'javascript:PopupCentrer(\"verif.php?pseudo=". $proprios["Pseudo"] ."&adresse=". $proprios["FTP_address"] ."&port=". $proprios["FTP_port"] ."\",350,20,\"menubar=no,scrollbars=no,statusbar=no\" )\'>Online ?</a></td>\n
  19.       </tr>";
  20.        }
  21.      echo "</table>";
  22.    }
  23.   else
  24.   {
  25.     echo "<B>Erreur dans l'enregistrement.</B><BR>";
  26.     echo "<B>Message de MySQL :</B> " . mysql_error($connexion);
  27.   }
  28.   ?>


 
et le fichier "connexion.php" :

Code :
  1. $connexion = mysql_connect (SERVEUR, NOM, PASSE);
  2.  if (!$connexion)
  3.  {
  4.    echo "Désolé, la connexion à " . SERVEUR . " est impossible.\n";
  5.    exit;
  6.  }
  7.  if (!mysql_select_db (BASE, $connexion))
  8.  {
  9.    echo "Désolé, l'accès à la base " . BASE . " est impossible\n";
  10.    exit;
  11.  }
  12. ?>


 
je comprends pas....il doit y avoir un problème avec la variable $connexion non? d'après ce que dit le serveur... mais bon je suis newbie...donc je sais pas trop.

mood
Publicité
Posté le 29-11-2002 à 22:06:53  profilanswer
 

n°257459
Mara's dad
Yes I can !
Posté le 29-11-2002 à 22:13:08  profilanswer
 

Code :
  1. if (isset($enregistrer))
  2.   include("connexion.php" );


 
si $enregistrer n'existe pas, pas de connexion !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°257460
le_duc
PlaTyPuS
Posté le 29-11-2002 à 22:15:30  profilanswer
 

Mara's dad a écrit a écrit :

Code :
  1. if (isset($enregistrer))
  2.   include("connexion.php" );


 
si $enregistrer n'existe pas, pas de connexion !




 
euh...oui en effet, il faut que je montre un peu + de code :
 

Code :
  1. <form method="post" action="update_database.php">
  2.         <p class="underline"><b>Enregistrer un nouveau proprio :</b></p>
  3.         <table class="tableau1" width="100%" border="0" cellspacing="0" cellpadding="0">
  4.           <tr>
  5.             <td width="29%" height="47">Pseudo :
  6.               <input type="text" name="Pseudo_new" /> </td>
  7.             <td width="71%">Numéro post:
  8.               <input type="text" name="Post_new" size=6 /></td>
  9.           </tr>
  10.           <tr>
  11.             <td height="44">Mail :
  12.               <input type="text" name="Mail_new" size=30 /> </td>
  13.             <td>Numéro PM :
  14.               <input type="text" name="PM_new" size=8 /></td>
  15.           </tr>
  16.           <tr>
  17.             <td height="83">Adresse FTP :
  18.               <input type="text" size=40 name="FTP_address" /></td>
  19.             <td>Port du FTP :
  20.               <input type="text" name="FTP_new" size="4" /></td>
  21.           </tr>
  22.           <tr>
  23.             <td height="42" colspan="2">Date de mise à jour :
  24.               <?php
  25.     include("lang_fr.inc.php" ); 
  26.      $date = $jour[strftime("%w" )]." ".date("j" )." ".$mois[(strftime("%m" )-1)]." ".date("Y" );
  27.     echo $date;
  28.    ?>
  29.             </td>
  30.           </tr>
  31.           <tr>
  32.             <td height="48">
  33.    <input type="submit" name="enregistrer" value="Envoyer" /></td>
  34.             <td><input type="reset" name="Reset" value="Rétablir" /></td>
  35.           </tr>
  36.         </table>
  37.         </form>
  38.       <p>


 
voilà la partie qui vient juste en-dessus de la partie PHP. ;)

n°257464
Mara's dad
Yes I can !
Posté le 29-11-2002 à 22:24:12  profilanswer
 

Et alors, $enregistrer n'as une valeur que quand tu utilise le boutton "Envoyer".
 
Au premier passage, y'a rien dedans et çà plante.
 
Sinon, c'est du php3 ou du php4 ?
 
Est-que register_globals est activé ?
 
Comme d'hab, faut tout deviner !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°257470
le_duc
PlaTyPuS
Posté le 29-11-2002 à 22:33:24  profilanswer
 

Mara's dad a écrit a écrit :

Et alors, $enregistrer n'as une valeur que quand tu utilise le boutton "Envoyer".
 
Au premier passage, y'a rien dedans et çà plante.
 
Sinon, c'est du php3 ou du php4 ?
 
Est-que register_globals est activé ?
 
Comme d'hab, faut tout deviner !




 
lol, désolé...j'suis newbie.
 
en effet, si je passe  include("connexion.php" );  avant  if (isset($enregistrer)) ...ca marche partiellement --> il me met ca :
 
Erreur dans l'enregistrement.
Message de MySQL : Query est vide
 
 
c'est pas possible d'éviter ce message tant que le user n'a pas appuyé sur "Enregistrer" ?
 
 

n°257474
Mara's dad
Yes I can !
Posté le 29-11-2002 à 22:43:48  profilanswer
 

Ben si, heureusement !
 
Bon la structure du script doit ressembler en gros à çà :
 

Code :
  1. SI BOUTTON ENVOYER
  2.    SE CONNECTER A LA BASE
  3.    FAIRE LES REQUETES
  4.    ENVOYER RESULTAT OU AUTRE...
  5. SINON
  6.    AFFICHER FORMULAIRE HTML
  7. FIN SI


 
En PHP :
 

Code :
  1. <?php 
  2. if( isset( $enregistrer ) )
  3. {
  4.  
  5.   include("connexion.php" );
  6.   $request = "INSERT ...
  7.   ...
  8.  
  9.   if( $resultat )
  10.   {
  11.  
  12.   ...
  13.   }
  14.   ...
  15. }
  16. else
  17. {
  18. ?>
  19. <form method="post" action="update_database.php">
  20. ...
  21. </form> 
  22. ...
  23. <?php
  24. }


?>
 
Et oui, c'est magique, tu peut mettre du HTML pur dans un if !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°257700
le_duc
PlaTyPuS
Posté le 30-11-2002 à 12:41:50  profilanswer
 

Mara's dad a écrit a écrit :

Ben si, heureusement !
 
Bon la structure du script doit ressembler en gros à çà :
 

Code :
  1. SI BOUTTON ENVOYER
  2.    SE CONNECTER A LA BASE
  3.    FAIRE LES REQUETES
  4.    ENVOYER RESULTAT OU AUTRE...
  5. SINON
  6.    AFFICHER FORMULAIRE HTML
  7. FIN SI


 
En PHP :
 

Code :
  1. <?php 
  2. if( isset( $enregistrer ) )
  3. {
  4.  
  5.   include("connexion.php" );
  6.   $request = "INSERT ...
  7.   ...
  8.  
  9.   if( $resultat )
  10.   {
  11.  
  12.   ...
  13.   }
  14.   ...
  15. }
  16. else
  17. {
  18. ?>
  19. <form method="post" action="update_database.php">
  20. ...
  21. </form> 
  22. ...
  23. <?php
  24. }


?>
 
Et oui, c'est magique, tu peut mettre du HTML pur dans un if !
 




 
ok ;) !
 
merci beaucoup pour ton aide!  
 
@++

n°257704
le_duc
PlaTyPuS
Posté le 30-11-2002 à 13:05:59  profilanswer
 

au fait, il n'y aura pas un petit problème ?
 
--> la variable "enregistrer" --> dans if (isset(enregistrer)) {
 
n'est pas déclarée au début de ma page.... le if (isset(enregistrer)) est avant la variable....donc il ne pourra pas la trouver.

n°257712
Mara's dad
Yes I can !
Posté le 30-11-2002 à 13:33:30  profilanswer
 

Ok, on reprend :
 
1- Le visiteur demande ta page.
2- Le script teste if( isset( $enregistrer ) )
   La variable n'existe pas, donc le script envoie le formulaire.
3- Le visteur reçoi le formulaire. Il le rempli et clique sur "Envoyer" ce qui à pour effet de redemander la page à ton serveur.
4- Le script recommence. Il teste if( isset( $enregistrer ) ) et cette fois, la variable existe, et donc il traite les donnée du formulaire qui viennent de lui être envoyé.
 
Je n'ai pas tout lu ton script, et je ne sais pas ce qu'il doit faire. J'ai supposé qu'une fois le formulaire saisi par l'utilisateur, il ne servait plus à rien. Si c'est faux, il suffit de modifier le code pour qu'il affiche le formulaire dans tous les cas :
 

Code :
  1. <?php   
  2. if( isset( $enregistrer ) )
  3. {
  4.  
  5. include("connexion.php" ); 
  6. $request = "INSERT ...
  7. ...
  8.  
  9. if( $resultat ) 
  10. {
  11.  
  12. ...
  13. }
  14. ...
  15. }
  16. ?>
  17. // Affichage systématique du formulaire.
  18. <form method="post" action="update_database.php"> 
  19. ...
  20. </form>   
  21. ...
  22. <?php
  23. }

 
?>
 
Il faut bien comprendre que le script s'execute sur le serveur et pas chez le client ! D'autre part, une fois que le serveur a envoyé des infos au client (navigateur), la connexion est terminée. A partir de ce moment là, le serveur ne connait plus le client. Si celui-çi veux quelque-chose, il faut qu'il le demande expressément.
 
Le mieux, pour que je sois sûr que tu ais bien compris, çà serais que tu m'explique comment tu vois les choses. Dis moi comment d'après toi les choses se passent à partir du moment ou le surfer demande ta page pour la première fois.
 
A+


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°257733
le_duc
PlaTyPuS
Posté le 30-11-2002 à 14:14:00  profilanswer
 

ah ok! non, cette fois j'ai tout compris l'execution du script! merci beaucoup.
 
bon il me fait encore une erreur vraiment bizarre... -->
 
Parse error: parse error, unexpected $ in d:\easyphp\www\sparta_proprio\administration.php on line 125
 
et la ligne 125 correspond à ca : </html>   :D j'vois pas de fautes moi  :pt1cable:

mood
Publicité
Posté le 30-11-2002 à 14:14:00  profilanswer
 

n°257797
Mara's dad
Yes I can !
Posté le 30-11-2002 à 15:58:16  profilanswer
 

Ben moi non plus.
Faut dire que j'ai pas leùsource, ni de boule de kristal, alors...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°257799
lorill
Posté le 30-11-2002 à 16:00:55  profilanswer
 

probablement oublié de fermer une balise php ?> quelque part

n°258155
le_duc
PlaTyPuS
Posté le 01-12-2002 à 09:23:49  profilanswer
 

non, c bon, j'avais oublié un "$" à une place...  :pt1cable:  
 
merci pour votre aide!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Ca marche pas..... mais pkoi ? Need help! ;-)

 

Sujets relatifs
Help ça marche pasDate d'un fichier en PHP
[PHP] Formulaire & affichage du résultat.... ???SQL + PHP ???
[PHP] Et la securité dans tout ca....[VB] il y a 3 lignes dans un programme que je ne comprends pas, help
Comparaison de dates JavaScript et Access.... HELP !!!![PHP] Les données présentées en tableaux
[newbie] comment marche la commande java dans la console? 
Plus de sujets relatifs à : [PHP] Ca marche pas..... mais pkoi ? Need help! ;-)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR