Se connecter / S'enregistrer

Résolu PHP / JavaScript

Solutions (48)
Tags :
  • Php
  • Javascript
  • Programmation
|
Bonjour à tous,

je développe une application qui contient un formulaire qui permet d'ajouter des infos, le formulaire envoie les données au fichier cible (addinfo.php). Dans ce dernier, je vérifie que les champs des formulaires sont bien remplis et que ça correspond à ce que j'attends (ex : lien web commence bien par http:// , etc...) Actuellement, mon script addinfo.php affiche le nom de l'erreur et invite l'utilisateur à retourner à la page html pour remplir le formulaire, le problème c'est qu'il doit tout retaper.
C'est pourquoi je préférerais utiliser des alertes JavaScript qui, il me semble n'effacerai pas ce que l'utilisateur a déjà écrit. Mais je ne sais pas trop où intégrer le JavaScript.
Ou si vous avez d'autres solutions : souvent lorsqu'on s'inscrit sur les sites web on ne change pas de page on a juste les champs manquants en rouge mais je ne sais pas comment faire ça.

Ci-dessous le code de mon fichier cible addinfos.php :

  1. <?php
  2. //connexion à la base de données
  3. //paramètres : serveur, utilisateur, mot de passe, base de données
  4. $link2 = DBconnect($serveur,$user,$mdp,$bdd);
  5.  
  6. $title = addslashes($_POST['title']);
  7. $logiciel = addslashes($_POST['logiciel']);
  8. $version = addslashes($_POST['version']);
  9. $link = addslashes($_POST['link']);
  10. $description = addslashes($_POST['description']);
  11.  
  12. if(empty($title))
  13. $erreur = "<P align='center'><BR><B>Veuillez saisir le titre de l'info !</B><BR><BR><BR><A HREF='nouvelle_info.html' style='text-decoration:none; font-variant: small-caps;'><FONT SIZE=2><span style='border:solid 2px; border-color:#E7634D; padding:10px; border-radius:1em;'><B>Saisir de nouveau la question</B></SPAN></FONT></A></P>";
  14.  
  15. if(empty($logiciel))
  16. $erreur = "<P align='center'><BR><B>Veuillez saisir le nom du logiciel / matériel !</B><BR><BR><BR><A HREF='nouvelle_info.html' style='text-decoration:none; font-variant: small-caps;'><FONT SIZE=2><span style='border:solid 2px; border-color:#E7634D; padding:10px; border-radius:1em;'><B>Saisir de nouveau la question</B></SPAN></FONT></A></P>";
  17.  
  18. if(empty($link))
  19. $erreur = "<P align='center'><BR><B>Veuillez saisir un lien pour l'info !</B><BR><BR><BR><A HREF='nouvelle_info.html' style='text-decoration:none; font-variant: small-caps;'><FONT SIZE=2><span style='border:solid 2px; border-color:#E7634D; padding:10px; border-radius:1em;'><B>Saisir de nouveau la question</B></SPAN></FONT></A></P>";
  20.  
  21. if(empty($description))
  22. $erreur = "<P align='center'><BR><B>Veuillez saisir la description de l'info !</B><BR><BR><BR><A HREF='nouvelle_info.html' style='text-decoration:none; font-variant: small-caps;'><FONT SIZE=2><span style='border:solid 2px; border-color:#E7634D; padding:10px; border-radius:1em;'><B>Saisir de nouveau la question</B></SPAN></FONT></A></P>";
  23.  
  24. if (isset($erreur))
  25. {
  26. echo $erreur;
  27. }
  28. else
  29. if (preg_match("#(((https?|ftp)://(w{3}\.)?)(?<!www)(\w+-?)*\.([a-z]{2,4}))#", $link))
  30. {
  31. mysql_query("INSERT INTO infolog (title,logiciel,version,link,description) VALUES('$title','$logiciel','$version','$link','$description')");
  32. echo "<p align='center'><font size=4><BR><B>L'info suivante a bien ét&eacute ajoutée :</B></FONT></P>";
  33. echo "<P align='center'><I><B>"."<A HREF='$link'><FONT SIZE=4>".$title."</FONT></A></B></I></P><BR><BR>";
  34. echo "<A HREF='nouvelle_info.html' style='text-decoration:none; font-variant: small-caps;'><FONT SIZE=4><P align='center'><span style='border:solid 2px; border-color:#E7634D; padding:10px; border-radius:1em;'><B>Ajouter une nouvelle info</B></SPAN></FONT></A></P>";
  35. }
  36. else
  37. {
  38. echo "<P align='center'><BR><B>Le lien de l'info que vous avez saisi n'est pas correct !</B><BR><BR><BR><A HREF='nouvelle_info.html' style='text-decoration:none; font-variant: small-caps;'><FONT SIZE=2><span style='border:solid 2px; border-color:#E7634D; padding:10px; border-radius:1em;'><B>Saisir de nouveau l'info</B></SPAN></FONT></A></P>";
  39. }
  40.  
  41. mysql_close();
  42.  
  43. ?>

Merci d'avance pour votre aide !
Contenus similaires
Meilleure solution
partage
|
Tu peux très bien utiliser le if dans ton html:
  1. <?php
  2. // Paramètres pour accéder à ta base MysQl
  3. $host = "localhost";
  4. $user = "root";
  5. $password = "";
  6. $bdd = "application";
  7. // Connection à la Base MySql
  8. mysql_connect($host, $user, $password) or die ("impossible de se connecter au serveur" );
  9. mysql_select_db($bdd) or die ("impossible de se connecter a la base de donnees" );
  10. // Déclaration des champs (vides ou récupération des $_POST)...
  11. $title = (isset($_POST['title'])) ? htmlspecialchars($_POST['title']) : '';
  12. $logiciel = (isset($_POST['logiciel'])) ? htmlspecialchars($_POST['logiciel']) : '';
  13. $version = (isset($_POST['version'])) ? htmlspecialchars($_POST['version']) : '';
  14. $link = (isset($_POST['link'])) ? htmlspecialchars($_POST['link']) : '';
  15. $logiciel = (isset($_POST['description'])) ? htmlspecialchars($_POST['description']) : '';
  16. // Si le formulaire a été envoyé, on teste les champs...
  17. $erreur = false;
  18. $record = false;
  19. if (!empty($_POST)) {
  20. // vérification dans l'ordre inverse pour que le dernier soit le premier smile
  21. if (empty($title)) {
  22. $erreur = true;
  23. $errmsg = 'Merci de saisir le titre !';
  24. }
  25. if (empty($logiciel)) {
  26. $erreur = true;
  27. $errmsg = 'Merci de saisir le logiciel/matériel !';
  28. }
  29. if (empty($link)) {
  30. $erreur = true;
  31. $errmsg = 'Merci de saisir un lien !';
  32. }
  33. if (empty($description)) {
  34. $erreur = true;
  35. $errmsg = 'Merci de saisir une description ! ';
  36. }
  37. if (!preg_match("#(((https?|ftp)://(w{3}\.)?)(?<!www)(\w+-?)*\.([a-z]{2,4}))#", $link)) {
  38. $erreur = true;
  39. $errmsg = 'Merci de saisir un lien correct';
  40. }
  41. // Si tout est OK on exécute l'action (INSERT dans la base, envoi d'email, etc...)
  42. if (!$erreur) {
  43. mysql_query("INSERT INTO infolog (title,logiciel,version,link,description) VALUES('$title','$logiciel','$version','$link','$description')" );
  44. // header("Location: addinfo.php" );
  45. $record = true;
  46. $msg = 'Le programme '.$title.' a bien été enregistré.';
  47. }
  48. }
  49. ?>
  50. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  51. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
  52. <head>
  53. <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
  54. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  55. <title>Ajouter nouvelle info</title>
  56. <link href="CSS/style.css" rel="stylesheet" type="text/css" media="screen" />
  57. <style type="text/css">
  58. .alert {
  59. color:#990000;
  60. }
  61. </style>
  62. </head>
  63. <BODY background="metal.jpg" style="background-repeat:no-repeat; background-attachment:fixed">
  64. <?php
  65. if ($erreur) {
  66. echo '<p class="alert">'.$errmsg.'</p>';
  67. }
  68. ?>
  69. <br>
  70. <ul id="menu_dynamique">
  71. <li class="extend">Informations<ul>
  72. <li><a href="traitement.php">Infos Logiciels</a></li>
  73. <li class="sans"><a href="traitementmat.php">Infos Matériels</a></li>
  74. <li><a href="traitementcontrat.php">Infos Contrats</a></li>
  75. </ul>
  76. </li>
  77. <li class="extend none"><a href="http://192.168.66.110/ouapi1.0">Gérer le parc Informatique</a></li>
  78. <li class="extend">Gestion des infos<ul>
  79. <li><a href="nouvelle_info.html">Ajouter une info</a></li>
  80. <li class="sans"><a href="modifinfo.php">Modifier/Supprimer info</a></li>
  81. <li><a href="removerss.php">Supprimer document</a></li>
  82. </ul>
  83. </li>
  84. <li class="extend none">Gestion des flux RSS
  85. <ul>
  86. <li><a href="actu_flux.php">Actualiser les flux</a></li>
  87. <li class="sans"><a href="nouv_flux.html">Ajouter un flux</a></li>
  88. <li><a href="removeflux.php">Supprimer un flux</a></li>
  89. </ul>
  90. </li>
  91. <li class="extend"><a href="http://www.groupe-ocealis.com/ocealis-securite.html" title="Lien vers le site d'Ocealis Sécurité">Ocealis Sécurité</a></li>
  92. </ul>
  93. <br><br><br><br>
  94. <?php
  95. if ($record === true) {
  96. echo $msg;
  97. } else {
  98. ?>
  99. <table align="center" width="800" height="390" border="0" cellpadding="0" cellspacing="0">
  100. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
  101. <tr>
  102. <!--<td width="6%"> </td>-->
  103. <td colspan="5"><P ALIGN='center'><FONT SIZE=5 COLOR='#377693'><span style="font-variant: small-caps;"><B>Ajouter une nouvelle Information</B></SPAN></FONT><BR><BR><BR></P></td>
  104. </tr>
  105. <tr>
  106. <td><div><font size=4 COLOR='#377693'><span style="font-variant: small-caps;"><B><label for="title">Titre *</label></B></SPAN></font></div></td>
  107. </tr>
  108. <tr>
  109. <td colspan="35"><input type="text" name="title" id="title" size="76" maxlength="500" value="<?php echo stripslashes($title); ?>" /></td>
  110. </tr>
  111. <tr>
  112. <td><div><font size=4 COLOR='#377693'><span style="font-variant: small-caps;"><B><label for="logiciel">Logiciel / Matériel *</label></B></SPAN></font></div></td></tr>
  113. <tr>
  114. <td colspan="5"><input type="text" name="logiciel" id="logiciel" size="50" maxlength="50" value="<?php echo stripslashes($logiciel); ?>" /></td>
  115. </tr>
  116. <tr>
  117. <td><div><font size=4 COLOR='#377693'><span style="font-variant: small-caps;"><B><label for="version">Version</label></B></SPAN></font></div></td>
  118. </tr>
  119. <tr>
  120. <td colspan="5"><input type="text" name="version" id="version" size="50" maxlength="50" value="<?php echo stripslashes($version); ?>" /></td>
  121. </tr>
  122. <tr>
  123. <td><div><font size=4 COLOR='#377693'><span style="font-variant: small-caps;"><B><label for="link">Lien *</label></B></SPAN></font></div></td></tr>
  124. <tr>
  125. <td colspan="5"><input type="text" name="link" id="link" size="50" maxlength="50" value="<?php echo stripslashes($link); ?>" /></td>
  126. </tr>
  127. <tr>
  128. <td><BR><div><font size=4 COLOR='#377693'><B><span style="font-variant: small-caps;"><label for="description">Description *</label></SPAN></B></font></div></td>
  129. </tr>
  130. <tr>
  131. <td colspan='5'><textarea rows="5" cols="76" name="description" id="description" value="<?php echo stripslashes($description); ?>"></textarea></td>
  132. </tr>
  133. <tr>
  134. <td height="24"></td>
  135. <td> </td>
  136. <td> </td>
  137. </tr>
  138. <tr>
  139. <td height="14"></td>
  140. <td width="16%"><center><input type="reset" name="Submit2" value="Effacer"></center></td>
  141. <td width="28%"><left><input type="submit" name="Submit" value="Enregistrer l'info"></left></td>
  142. </tr>
  143. <tr>
  144. <td height="20"></td>
  145. <td></td>
  146. <td></td>
  147. </tr>
  148. </form>
  149. </table></td></tr>
  150. </table>
  151. </div>
  152. <br /><br /><br />
  153. <P align="right"><FONT COLOR='#377693' STYLE="font-family:trebuchet MS;">* indique un champ requis</FONT></P>
  154. <?
  155. }
  156. ?>
  157. </body>
  158. </html>
  • Commenter cette solution |
Score
0
òh
òi
|
Meilleure réponse sélectionnée par boss183.
  • Commenter cette réponse |
Score
0
òh
òi
|
Si l'erreur venait de l'exit ! Maintenant ça marche !

Merci beaucoup pour l'aide crazycat et désolé pour le temps que ça t'a pris!
  • Commenter cette réponse |
Score
0
òh
òi
|
Le "===" vérifie aussi le type.
Dans le cas des booléens (true/false), c'est souvent très important :
  1. <?php
  2. $a = 5;
  3. $b = 0;
  4. $c = "0";
  5. $d = "toto";
  6. $e = true;
  7. if ($a == true) echo "$a est true<br />";
  8. else echo "$a est false<br />";
  9. if ($b == true) echo "$b est true<br />";
  10. else echo "$b est false<br />";
  11. if ($c == true) echo "$c est true<br />";
  12. else echo "$c est false<br />";
  13. if ($d == true) echo "$d est true<br />";
  14. else echo "$d est false<br />";
  15. if ($e == true) echo "$e est true<br />";
  16. else echo "$e est false<br />";
  17. echo "***************<br />";
  18. if ($a === true) echo "$a est true<br />";
  19. else echo "$a est false<br />";
  20. if ($b === true) echo "$b est true<br />";
  21. else echo "$b est false<br />";
  22. if ($c === true) echo "$c est true<br />";
  23. else echo "$c est false<br />";
  24. if ($d === true) echo "$d est true<br />";
  25. else echo "$d est false<br />";
  26. if ($e === true) echo "$e est true<br />";
  27. else echo "$e est false<br />";
  28. ?>

Essaye ce code et tu comprendras la différence entre == et ===
Et tu peux aussi essayer avec $b==$c et $b===$c.

Pour en revenir à ton souci, tu n'as pas laissé le exit que tu avais après le header ?
  • Commenter cette réponse |
Score
0
òh
òi
|
OK je comprends pas trop ce que fait "==="

et sinon il n'y a rien dans le code source de la page blanche générée.
  • Commenter cette réponse |
Score
0
òh
òi
|
Le contrôle ternaire n'était pas une erreur.
Et si tu as une page blanche mais que l'enregistrement en base se fait bien, il n'y a pas d'erreur PHP bloquante.
As-tu pensé à regarder la source de la page générée pour voir si ce n'était pas juste une erreur html qui fait mal (ou pas) afficher ?
  • Commenter cette réponse |
Score
0
òh
òi
|
J'ai remplacé if ($record === true) par if ($record == true)
et

<?
}
?>

par

<?php
}
?>

Mais pas mieux
  • Commenter cette réponse |
Score
0
òh
òi
|
Lorsque tous les champs sont correctement remplis et que je valide, je tombe sur une page blanche (mais ça s'enregister qd même bien dans la BDD). j'ai l'impression que le code html situé entre les deux accolades n'est pas pris en compte, enfin je sais pas trop.

Encore merci pour ton aide
  • Commenter cette réponse |
Score
0
òh
òi
|
Merci mais en fait je voudrais que ma page soit constitué :

- d'une partie en HTML : menu et fond (qui seront toujours présent)

- de mon formulaire qui s'affiche lorsqu'on arrive sur la page ou qui se ré-affiche avec les valeurs saisies avant si les champs sont vides

- d'un message qui confirme que l'info a bien été enregistré avec un lien si on désire remettre ajouter une nouvelle info

le truc c que je veux pas afficher en même temps le message de confirmation et le formulaire, c'est soit l'un soit l'autre avec toujours en fond la partie html pour le fond et le menu.
  • Commenter cette réponse |
Score
0
òh
òi
|
Modifies le header("Location: addinfo.php") en header("Location: addinfo.php?add=1").

Et pour afficher ton message:
  1. if ($_GET['add']==1) echo "......";
  • Commenter cette réponse |
Score
0
òh
òi
|
Merci beaucoup crazycat ! ça marche !

par contre je ne sais pas comment afficher, lorsque la requête a bien été prise en compte, un petit message qui dit que ça a marché avec un lien pour ajouter une nouvelle info plutôt que de rafficher la page telle qu'elle comme si rien ne s'était passé ?
  • Commenter cette réponse |
Score
0
òh
òi
|
OMG ! Je n'avais pas vu !
Ce n'est pas comme ça qu'on remplit un textarea:
  1. <td colspan='5'><textarea rows="5" cols="76" name="description" id="description"><?php echo stripslashes($description); ?></textarea></td>

  • Commenter cette réponse |
Score
0
òh
òi
|
Je me rends compte que lorsqu'il y a une erreur on retrouve bien ce qu'on avait tapé excepté pour le champ description, ça vient peut être du fait que ça soit du type textarea ??
  • Commenter cette réponse |
Score
0
òh
òi
|
Ah oui merci c'est plutôt :
$description = (isset($_POST['description'])) ? htmlspecialchars($_POST['description']) : '';

et il y a bien un champ dans mon formulaire qui correspond à description, il est de type textarea je sais pas si ça change qqchose :
<td colspan='5'><textarea rows="5" cols="76" name="description" id="description" value="<?php echo stripslashes($description); ?>"></textarea></td>

donc là ça a l'air de marcher mais je voudrais savoir comment faire pour afficher, lorsque la requête a bien été prise en compte, un petit message qui dit que ça a marché avec un lien pour ajouter une nouvelle info plutôt que de rafficher la page telle qu'elle comme si rien ne s'était passé ?
  • Commenter cette réponse |
Score
0
òh
òi
|
  1. $title = (isset($_POST['title'])) ? htmlspecialchars($_POST['title']) : '';
  2. $logiciel = (isset($_POST['logiciel'])) ? htmlspecialchars($_POST['logiciel']) : '';
  3. $version = (isset($_POST['version'])) ? htmlspecialchars($_POST['version']) : '';
  4. $link = (isset($_POST['link'])) ? htmlspecialchars($_POST['link']) : '';
  5. $logiciel = (isset($_POST['description'])) ? htmlspecialchars($_POST['description']) : '';

Donc, je vois:
$logiciel = (isset($_POST['description'])) ? htmlspecialchars($_POST['description']) : '';
Forcément, $logiciel contient ce qui est dans description.
Et je ne vois nulle part une ligne où tu remplirais $description.
  • Commenter cette réponse |
Score
0
òh
òi
|
OUPS j'avais oublié ça !

J'ai corrigé mais j'ai toujours mon problème : à savoir, je remplis tous les champs, et lorsque je soumet le formulaire il me met le message d'erreur comme quoi je n'ai pas rempli le champ desciption (j'ai rajouté des cas d'erreurs) et plus surprenant; ce que j'avais tapé dans description passe dans le champ logiciel.
Je remet mon code comme il y a eu des petits changements :

  1. <?php
  2. // Paramètres pour accéder à ta base MysQl
  3. $host = "localhost";
  4. $user = "root";
  5. $password = "";
  6. $bdd = "application";
  7.  
  8. // Connection à la Base MySql
  9. mysql_connect($host, $user, $password) or die ("impossible de se connecter au serveur" );
  10. mysql_select_db($bdd) or die ("impossible de se connecter a la base de donnees" );
  11.  
  12. // Déclaration des champs (vides ou récupération des $_POST)...
  13.  
  14. $title = (isset($_POST['title'])) ? htmlspecialchars($_POST['title']) : '';
  15. $logiciel = (isset($_POST['logiciel'])) ? htmlspecialchars($_POST['logiciel']) : '';
  16. $version = (isset($_POST['version'])) ? htmlspecialchars($_POST['version']) : '';
  17. $link = (isset($_POST['link'])) ? htmlspecialchars($_POST['link']) : '';
  18. $logiciel = (isset($_POST['description'])) ? htmlspecialchars($_POST['description']) : '';
  19.  
  20. // Si le formulaire a été envoyé, on teste les champs...
  21.  
  22. $erreur = false;
  23.  
  24. if (!empty($_POST)) {
  25.  
  26. // vérification dans l'ordre inverse pour que le dernier soit le premier smile
  27.  
  28. if (empty($title)) {
  29.  
  30. $erreur = true;
  31.  
  32. $errmsg = 'Merci de saisir le titre !';
  33.  
  34. }
  35.  
  36. if (empty($logiciel)) {
  37.  
  38. $erreur = true;
  39.  
  40. $errmsg = 'Merci de saisir le logiciel/matériel !';
  41.  
  42. }
  43.  
  44. if (empty($link)) {
  45.  
  46. $erreur = true;
  47.  
  48. $errmsg = 'Merci de saisir un lien !';
  49.  
  50. }
  51.  
  52. if (empty($description)) {
  53.  
  54. $erreur = true;
  55.  
  56. $errmsg = 'Merci de saisir une description ! ';
  57.  
  58. }
  59.  
  60. if (!preg_match("#(((https?|ftp)://(w{3}\.)?)(?<!www)(\w+-?)*\.([a-z]{2,4}))#", $link)) {
  61.  
  62. $erreur = true;
  63.  
  64. $errmsg = 'Merci de saisir un lien correct';
  65.  
  66. }
  67.  
  68.  
  69. // Si tout est OK on exécute l'action (INSERT dans la base, envoi d'email, etc...)
  70.  
  71. if (!$erreur) {
  72.  
  73. //mysql_query("INSERT INTO infolog (title,logiciel,version,link,description) VALUES('$title','$logiciel','$version','$link','$description')");
  74.  
  75. header("Location: addinfo.php");
  76.  
  77. exit;
  78.  
  79. }
  80.  
  81. }
  82. ?>
  83.  
  84. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" rel="nofollow" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</a>">
  85. <html xmlns="<a href="http://www.w3.org/1999/xhtml" rel="nofollow" target="_blank">http://www.w3.org/1999/xhtml</a>" xml:lang="fr">
  86. <head>
  87. <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
  88. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  89. <title>Ajouter nouvelle info</title>
  90. <link href="CSS/style.css" rel="stylesheet" type="text/css" media="screen" />
  91. <style type="text/css">
  92.  
  93. .alert {
  94.  
  95. color:#990000;
  96.  
  97. }
  98. </style>
  99. </head>
  100.  
  101. <BODY background="metal.jpg" style="background-repeat:no-repeat; background-attachment:fixed">
  102. <?php
  103.  
  104. if ($erreur) {
  105. echo '<p class="alert">'.$errmsg.'</p>';
  106. }
  107.  
  108. ?>
  109. <br>
  110. <ul id="menu_dynamique">
  111.  
  112. <li class="extend">Informations<ul>
  113. <li><a href="traitement.php">Infos Logiciels</a></li>
  114. <li class="sans"><a href="traitementmat.php">Infos Matériels</a></li>
  115. <li><a href="traitementcontrat.php">Infos Contrats</a></li>
  116. </ul>
  117. </li>
  118.  
  119. <li class="extend none"><a href="<a href="http://192.168.66.110/ouapi1.0" rel="nofollow" target="_blank">http://192.168.66.110/ouapi1.0</a>">Gérer le parc Informatique</a></li>
  120.  
  121. <li class="extend">Gestion des infos<ul>
  122.  
  123. <li><a href="nouvelle_info.html">Ajouter une info</a></li>
  124. <li class="sans"><a href="modifinfo.php">Modifier/Supprimer info</a></li>
  125. <li><a href="removerss.php">Supprimer document</a></li>
  126. </ul>
  127.  
  128. </li>
  129.  
  130. <li class="extend none">Gestion des flux RSS
  131.  
  132. <ul>
  133.  
  134. <li><a href="actu_flux.php">Actualiser les flux</a></li>
  135. <li class="sans"><a href="nouv_flux.html">Ajouter un flux</a></li>
  136. <li><a href="removeflux.php">Supprimer un flux</a></li>
  137.  
  138. </ul>
  139.  
  140. </li>
  141.  
  142. <li class="extend"><a href="<a href="http://www.groupe-ocealis.com/ocealis-securite.html" rel="nofollow" target="_blank">http://www.groupe-ocealis.com/ocealis-securite.html</a>" title="Lien vers le site d'Ocealis Sécurité">Ocealis Sécurité</a></li>
  143.  
  144. </ul>
  145. <br><br><br><br>
  146. <table align="center" width="800" height="390" border="0" cellpadding="0" cellspacing="0">
  147. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
  148. <tr>
  149. <!--<td width="6%"> </td>-->
  150. <td colspan="5"><P ALIGN='center'><FONT SIZE=5 COLOR='#377693'><span style="font-variant: small-caps;"><B>Ajouter une nouvelle Information</B></SPAN></FONT><BR><BR><BR></P></td>
  151. </tr>
  152.  
  153. <tr>
  154. <td><div><font size=4 COLOR='#377693'><span style="font-variant: small-caps;"><B><label for="title">Titre *</label></B></SPAN></font></div></td>
  155. </tr>
  156. <tr>
  157. <td colspan="35"><input type="text" name="title" id="title" size="76" maxlength="500" value="<?php echo stripslashes($title); ?>" /></td>
  158. </tr>
  159.  
  160. <tr>
  161. <td><div><font size=4 COLOR='#377693'><span style="font-variant: small-caps;"><B><label for="logiciel">Logiciel / Matériel *</label></B></SPAN></font></div></td></tr>
  162. <tr>
  163. <td colspan="5"><input type="text" name="logiciel" id="logiciel" size="50" maxlength="50" value="<?php echo stripslashes($logiciel); ?>" /></td>
  164. </tr>
  165.  
  166. <tr>
  167. <td><div><font size=4 COLOR='#377693'><span style="font-variant: small-caps;"><B><label for="version">Version</label></B></SPAN></font></div></td>
  168. </tr>
  169. <tr>
  170. <td colspan="5"><input type="text" name="version" id="version" size="50" maxlength="50" value="<?php echo stripslashes($version); ?>" /></td>
  171. </tr>
  172.  
  173. <tr>
  174. <td><div><font size=4 COLOR='#377693'><span style="font-variant: small-caps;"><B><label for="link">Lien *</label></B></SPAN></font></div></td></tr>
  175. <tr>
  176. <td colspan="5"><input type="text" name="link" id="link" size="50" maxlength="50" value="<?php echo stripslashes($link); ?>" /></td>
  177. </tr>
  178.  
  179. <tr>
  180. <td><BR><div><font size=4 COLOR='#377693'><B><span style="font-variant: small-caps;"><label for="description">Description *</label></SPAN></B></font></div></td>
  181. </tr>
  182. <tr>
  183. <td colspan='5'><textarea rows="5" cols="76" name="description" id="description" value="<?php echo stripslashes($description); ?>"></textarea></td>
  184. </tr>
  185.  
  186. <tr>
  187. <td height="24"></td>
  188. <td> </td>
  189. <td> </td>
  190. </tr>
  191. <tr>
  192. <td height="14"></td>
  193. <td width="16%"><center><input type="reset" name="Submit2" value="Effacer"></center></td>
  194. <td width="28%"><left><input type="submit" name="Submit" value="Enregistrer l'info"></left></td>
  195. </tr>
  196. <tr>
  197. <td height="20"></td>
  198. <td></td>
  199. <td></td>
  200. </tr>
  201. </form>
  202. </table></td></tr>
  203. </table>
  204. </div>
  205. <BR><BR><BR>
  206. <P align="right"><FONT COLOR='#377693' STYLE="font-family:trebuchet MS;">* indique un champ requis</FONT></P>
  207. </body>
  208. </html>


Je suis désolé de vous déranger encore une fois mais je n'arrive pas à m'en sortir
  • Commenter cette réponse |
Score
0
òh
òi
|
  1. $logiciel = (isset($_POST['prenom'])) ? htmlspecialchars($_POST['logiciel']) : '';

prenom ou logiciel ?
  • Commenter cette réponse |
Score
0
òh
òi
|
ah oui comme j'étais passé en utf-8 je suis repassé avec l'option encoder en ANSI. Par contre il ne fait plus correctement les tests il enregistre dans la BDD même si le champ logiciel est vide
  • Commenter cette réponse |
Score
0
òh
òi
|
Donc je confirme, c'est l'encodage de ta page qui pose souci, des caractères invisibles sont présents.
  • Commenter cette réponse |
Score
0
òh
òi
|

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\test_ajout.php:1) in C:\xampp\htdocs\test_ajout.php on line 50
  • Commenter cette réponse |
Score
0
òh
òi
|
Voilà mon code :

  1. <?php
  2. // Paramètres pour accéder à ta base MysQl
  3. $host = "localhost";
  4. $user = "root";
  5. $password = "";
  6. $bdd = "application";
  7.  
  8. // Connection à la Base MySql
  9. mysql_connect($host, $user, $password) or die ("impossible de se connecter au serveur" );
  10. mysql_select_db($bdd) or die ("impossible de se connecter a la base de donnees" );
  11.  
  12. // Déclaration des champs (vides ou récupération des $_POST)...
  13.  
  14. $title = (isset($_POST['title'])) ? htmlspecialchars($_POST['title']) : '';
  15. $logiciel = (isset($_POST['prenom'])) ? htmlspecialchars($_POST['logiciel']) : '';
  16. $version = (isset($_POST['version'])) ? htmlspecialchars($_POST['version']) : '';
  17. $link = (isset($_POST['link'])) ? htmlspecialchars($_POST['link']) : '';
  18. $logiciel = (isset($_POST['description'])) ? htmlspecialchars($_POST['description']) : '';
  19.  
  20. // Si le formulaire a été envoyé, on teste les champs...
  21.  
  22. $erreur = false;
  23.  
  24. if (!empty($_POST)) {
  25.  
  26. // vérification dans l'ordre inverse pour que le dernier soit le premier smile
  27.  
  28. if (empty($title)) {
  29.  
  30. $erreur = true;
  31.  
  32. $errmsg = 'Merci de saisir le titre !';
  33.  
  34. }
  35.  
  36. if (empty($logiciel)) {
  37.  
  38. $erreur = true;
  39.  
  40. $errmsg = 'Merci de saisir le logiciel/matériel !';
  41.  
  42. }
  43.  
  44. // Si tout est OK on exécute l'action (INSERT dans la base, envoi d'email, etc...)
  45.  
  46. if (!$erreur) {
  47.  
  48. mysql_query("INSERT INTO infolog (title,logiciel,version,link,description) VALUES('$title','$logiciel','$version','$link','$description')");
  49.  
  50. header("Location: index.php");
  51.  
  52. exit;
  53.  
  54. }
  55.  
  56. }
  57. ?>
  58.  
  59. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" rel="nofollow" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</a>">
  60. <html xmlns="<a href="http://www.w3.org/1999/xhtml" rel="nofollow" target="_blank">http://www.w3.org/1999/xhtml</a>" xml:lang="fr">
  61. <head>
  62. <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
  63. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  64. <title>Ajouter nouvelle info</title>
  65. <link href="CSS/style.css" rel="stylesheet" type="text/css" media="screen" />
  66. <style type="text/css">
  67.  
  68. .alert {
  69.  
  70. color:#990000;
  71.  
  72. }
  73.  
  74. </style>
  75. </head>
  76.  
  77. <BODY background="metal.jpg" style="background-repeat:no-repeat; background-attachment:fixed">
  78. <?php
  79.  
  80. if ($erreur) {
  81. echo '<p class="alert">'.$errmsg.'</p>';
  82. }
  83.  
  84. ?>
  85. <br>
  86. <ul id="menu_dynamique">
  87.  
  88. <li class="extend">Informations<ul>
  89. <li><a href="traitement.php">Infos Logiciels</a></li>
  90. <li class="sans"><a href="traitementmat.php">Infos Matériels</a></li>
  91. <li><a href="traitementcontrat.php">Infos Contrats</a></li>
  92. </ul>
  93. </li>
  94.  
  95. <li class="extend none"><a href="<a href="http://192.168.66.110/ouapi1.0" rel="nofollow" target="_blank">http://192.168.66.110/ouapi1.0</a>">Gérer le parc Informatique</a></li>
  96.  
  97. <li class="extend">Gestion des infos<ul>
  98.  
  99. <li><a href="nouvelle_info.html">Ajouter une info</a></li>
  100. <li class="sans"><a href="modifinfo.php">Modifier/Supprimer info</a></li>
  101. <li><a href="removerss.php">Supprimer document</a></li>
  102. </ul>
  103.  
  104. </li>
  105.  
  106. <li class="extend none">Gestion des flux RSS
  107.  
  108. <ul>
  109.  
  110. <li><a href="actu_flux.php">Actualiser les flux</a></li>
  111. <li class="sans"><a href="nouv_flux.html">Ajouter un flux</a></li>
  112. <li><a href="removeflux.php">Supprimer un flux</a></li>
  113.  
  114. </ul>
  115.  
  116. </li>
  117.  
  118. <li class="extend"><a href="<a href="http://www.groupe-ocealis.com/ocealis-securite.html" rel="nofollow" target="_blank">http://www.groupe-ocealis.com/ocealis-securite.html</a>" title="Lien vers le site d'Ocealis Sécurité">Ocealis Sécurité</a></li>
  119.  
  120. </ul>
  121. <br><br><br><br>
  122. <table align="center" width="800" height="390" border="0" cellpadding="0" cellspacing="0">
  123. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
  124. <tr>
  125. <!--<td width="6%"> </td>-->
  126. <td colspan="5"><P ALIGN='center'><FONT SIZE=5 COLOR='#377693'><span style="font-variant: small-caps;"><B>Ajouter une nouvelle Information</B></SPAN></FONT><BR><BR><BR></P></td>
  127. </tr>
  128.  
  129. <tr>
  130. <td><div><font size=4 COLOR='#377693'><span style="font-variant: small-caps;"><B><label for="title">Titre *</label></B></SPAN></font></div></td>
  131. </tr>
  132. <tr>
  133. <td colspan="35"><input type="text" name="title" id="title" size="76" maxlength="500" value="<?php echo stripslashes($title); ?>" /></td>
  134. </tr>
  135.  
  136. <tr>
  137. <td><div><font size=4 COLOR='#377693'><span style="font-variant: small-caps;"><B><label for="logiciel">Logiciel / Matériel *</label></B></SPAN></font></div></td></tr>
  138. <tr>
  139. <td colspan="5"><input type="text" name="logiciel" id="logiciel" size="50" maxlength="50" value="<?php echo stripslashes($logiciel); ?>" /></td>
  140. </tr>
  141.  
  142. <tr>
  143. <td><div><font size=4 COLOR='#377693'><span style="font-variant: small-caps;"><B><label for="version">Version</label></B></SPAN></font></div></td>
  144. </tr>
  145. <tr>
  146. <td colspan="5"><input type="text" name="version" id="version" size="50" maxlength="50" value="<?php echo stripslashes($version); ?>" /></td>
  147. </tr>
  148.  
  149. <tr>
  150. <td><div><font size=4 COLOR='#377693'><span style="font-variant: small-caps;"><B><label for="link">Lien *</label></B></SPAN></font></div></td></tr>
  151. <tr>
  152. <td colspan="5"><input type="text" name="link" id="link" size="50" maxlength="50" value="<?php echo stripslashes($link); ?>" /></td>
  153. </tr>
  154.  
  155. <tr>
  156. <td><BR><div><font size=4 COLOR='#377693'><B><span style="font-variant: small-caps;"><label for="description">Description *</label></SPAN></B></font></div></td>
  157. </tr>
  158. <tr>
  159. <td colspan='5'><textarea rows="5" cols="76" name="description" id="description" value="<?php echo stripslashes($description); ?>"></textarea></td>
  160. </tr>
  161.  
  162. <tr>
  163. <td height="24"></td>
  164. <td> </td>
  165. <td> </td>
  166. </tr>
  167. <tr>
  168. <td height="14"></td>
  169. <td width="16%"><center><input type="reset" name="Submit2" value="Effacer"></center></td>
  170. <td width="28%"><left><input type="submit" name="Submit" value="Enregistrer l'info"></left></td>
  171. </tr>
  172. <tr>
  173. <td height="20"></td>
  174. <td></td>
  175. <td></td>
  176. </tr>
  177. </form>
  178. </table></td></tr>
  179. </table>
  180. </div>
  181. <BR><BR><BR>
  182. <P align="right"><FONT COLOR='#377693' STYLE="font-family:trebuchet MS;">* indique un champ requis</FONT></P>
  183. </body>
  184. </html>
  • Commenter cette réponse |
Score
0
òh
òi
|
Alors là je suis perdu que dois-je faire ?
  • Commenter cette réponse |
Score
0
òh
òi
|
Ca ne changera rien au fonctionnement global, ni à l'utilisation des sessions.
  • Commenter cette réponse |
Score
0
òh
òi
|
euh bah disons que je travaille en local et que ça repose sur une BDD qui, elle aussi, est en local donc je peux trop donner d'url. Sinon, pour l'instant j'ai 2 fichiers : 1 avec le formulaire et l'autre qui fait le traitement. Je suis en train de voir pour tout mettre dans le même fichier et de faire les vérif avec des if, etc ... c'est moins bien que les sessions ?
  • Commenter cette réponse |
Score
0
òh
òi
|
Ta page de formulaire n'est pas inclue dans une autre page ?
Est-ce qu'il est possible d'avoir une url pour voir ça ?
  • Commenter cette réponse |
Score
0
òh
òi
|
Non ça ne change rien, tu es sur que ça vient de ça ?

dans ma page de formulaire j'ai juste mis au début: <?php session_start() ?>
et à la fin : <?php unset($_SESSION[post]); ?>

je suis pas sur de moi, c'est bon ?
  • Commenter cette réponse |
Score
0
òh
òi
|
Change pour ASCII ou UTF-8 ou Unicode.
  • Commenter cette réponse |
Score
0
òh
òi
|
Je dois changer quelque chose ?
  • Commenter cette réponse |
Score
0
òh
òi
|
Pour mes 2 fichiers l'option choisie est : Encoder en ANSI
  • Commenter cette réponse |
Score
0
òh
òi
|
Tu dois avoir un menu "Document" avec dedans l'option "Encodage de la page", essaye de le changer. Il doit y avoir des caractères cachés (entêtes utf8 Big Endian)
  • Commenter cette réponse |
Score
0
òh
òi
|
Pouvez-vous m'aider ?
  • Commenter cette réponse |
Score
0
òh
òi
|
Notepad ++
  • Commenter cette réponse |
Score
0
òh
òi
|
Avec quel éditeur travailles tu ?
  • Commenter cette réponse |
Score
0
òh
òi
|
dans ma page de formulaire j'ai juste mis au début: <?php session_start() ?>
et à la fin : <?php unset($_SESSION[post]); ?>

je suis pas sur de moi, c'est bon ?
  • Commenter cette réponse |
Score
0
òh
òi
|
Bah j'ai essayé en mettant juste <HTML> et en virant 2-3 truc mais pas mieux
  • Commenter cette réponse |
Score
0
òh
òi
|
C'est peut-être une erreur due à l'encodage de ta page, à cause de ton éditeur.
  • Commenter cette réponse |
Score
0
òh
òi
|
ça me fait plusieurs erreurs :

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\addinfo.php:1) in C:\xampp\htdocs\addinfo.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\addinfo.php:1) in C:\xampp\htdocs\addinfo.php on line 34
  • Commenter cette réponse |
Score
0
òh
òi
|
  1. <?php
  2. session_start();
  3.  
  4. //paramètres de connexion au serveur MySQL
  5. $user = "root";
  6. $mdp = "";
  7. $serveur = "localhost";
  8. $bdd = "application";
  9. /*********************Connexion au SGBD**************************/
  10. function DBconnect($serveur,$user,$mdp,$bdd){
  11. $connexion = @mysql_connect($serveur,$user,$mdp) or die("problème de connexion au serveur BD" );
  12. @mysql_select_db($bdd,$connexion) or die("echec de sélection de la BD" );
  13. return $connexion;
  14. }
  15. //connexion à la base de données
  16. //paramètres : serveur, utilisateur, mot de passe, base de données
  17. if (isset($_POST)) $_SESSION['post'] = $_POST;
  18.  
  19. $title = addslashes($_POST['title']);
  20. $logiciel = addslashes($_POST['logiciel']);
  21. $version = addslashes($_POST['version']);
  22. $link = addslashes($_POST['link']);
  23. $description = addslashes($_POST['description']);
  24. if(empty($title))
  25. $erreur = "<P align='center'><BR><B>Veuillez saisir le titre de l'info !</B><BR><BR><BR><A HREF='nouvelle_info.html' style='text-decoration:none; font-variant: small-caps;'><FONT SIZE=2><span style='border:solid 2px; border-color:#E7634D; padding:10px; border-radius:1em;'><B>Saisir de nouveau l'info</B></SPAN></FONT></A></P>";
  26. if(empty($logiciel))
  27. $erreur = "<P align='center'><BR><B>Veuillez saisir le nom du logiciel / matériel !</B><BR><BR><BR><A HREF='nouvelle_info.html' style='text-decoration:none; font-variant: small-caps;'><FONT SIZE=2><span style='border:solid 2px; border-color:#E7634D; padding:10px; border-radius:1em;'><B>Saisir de nouveau l'info</B></SPAN></FONT></A></P>";
  28. if(empty($link))
  29. $erreur = "<P align='center'><BR><B>Veuillez saisir un lien pour l'info !</B><BR><BR><BR><A HREF='nouvelle_info.html' style='text-decoration:none; font-variant: small-caps;'><FONT SIZE=2><span style='border:solid 2px; border-color:#E7634D; padding:10px; border-radius:1em;'><B>Saisir de nouveau l'info</B></SPAN></FONT></A></P>";
  30. if(empty($description))
  31. $erreur = "<P align='center'><BR><B>Veuillez saisir la description de l'info !</B><BR><BR><BR><A HREF='nouvelle_info.html' style='text-decoration:none; font-variant: small-caps;'><FONT SIZE=2><span style='border:solid 2px; border-color:#E7634D; padding:10px; border-radius:1em;'><B>Saisir de nouveau l'info</B></SPAN></FONT></A></P>";
  32. if (!preg_match("#(((https?|ftp)://(w{3}\.)?)(?<!www)(\w+-?)*\.([a-z]{2,4}))#", $link))
  33. $erreur = "<P align='center'><BR><B>Le lien de l'info que vous avez saisi n'est pas correct !</B><BR><BR><BR><A HREF='nouvelle_info.html' style='text-decoration:none; font-variant: small-caps;'><FONT SIZE=2><span style='border:solid 2px; border-color:#E7634D; padding:10px; border-radius:1em;'><B>Saisir de nouveau l'info</B></SPAN></FONT></A></P>";
  34. if (isset($erreur)) {
  35. $session['erreur'] = $erreur;
  36. header('Location: '.$_SERVER['HTTP_REFERRER']);
  37. } else {
  38. unset($_SESSION['post']);
  39. $link2 = DBconnect($serveur,$user,$mdp,$bdd);
  40. mysql_query("INSERT INTO infolog (title,logiciel,version,link,description) VALUES('$title','$logiciel','$version','$link','$description')" );
  41. $msg = "<p align='center'><font size=4><BR><B>L'info suivante a bien ét&eacute ajoutée :</B></FONT></P><P align='center'><I><B>"."<A HREF='$link'><FONT SIZE=4>".$title."</FONT></A></B></I></P><BR><BR><A HREF='nouvelle_info.html' style='text-decoration:none; font-variant: small-caps;'><FONT SIZE=4><P align='center'><span style='border:solid 2px; border-color:#E7634D; padding:10px; border-radius:1em;'><B>Ajouter une nouvelle info</B></SPAN></FONT></A></P>";
  42. mysql_close();
  43. }
  44. ?>
  45. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  46. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
  47. <head>
  48. <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
  49. <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
  50. <title>Ajouter nouvelle info</title>
  51. <link href="CSS/style.css" rel="stylesheet" type="text/css" media="screen" />
  52. </head>
  53. <BODY background="metal.jpg" style="background-repeat:no-repeat; background-attachment:fixed">
  54. <br>
  55. <ul id="menu_dynamique">
  56. <li class="extend">Informations<ul>
  57. <li><a href="traitement.php">Infos Logiciels</a></li>
  58. <li class="sans"><a href="traitementmat.php">Infos Matériels</a></li>
  59. <li><a href="traitementcontrat.php">Infos Contrats</a></li>
  60. </ul>
  61. </li>
  62. <li class="extend none"><a href="http://192.168.66.110/ouapi1.0">Gérer le parc Informatique</a></li>
  63. <li class="extend">Gestion des infos<ul>
  64. <li><a href="nouvelle_info.html">Ajouter une info</a></li>
  65. <li class="sans"><a href="modifinfo.php">Modifier/Supprimer info</a></li>
  66. <li><a href="removerss.php">Supprimer document</a></li>
  67. </ul>
  68. </li>
  69. <li class="extend none">Gestion des flux RSS
  70. <ul>
  71. <li><a href="actu_flux.php">Actualiser les flux</a></li>
  72. <li class="sans"><a href="nouv_flux.html">Ajouter un flux</a></li>
  73. <li><a href="removeflux.php">Supprimer un flux</a></li>
  74. </ul>
  75. </li>
  76. <li class="extend"><a href="http://www.groupe-ocealis.com/ocealis-securite.html" title="Lien vers le site d'Ocealis Sécurité">Ocealis Sécurité</a></li>
  77. </ul>
  78. <br><br><br>
  79. <?php echo $msg; ?>
  80. </body>
  81. </html>
  • Commenter cette réponse |
Score
0
òh
òi
|
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" rel="nofollow" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</a>">
  2. <html xmlns="<a href="http://www.w3.org/1999/xhtml" rel="nofollow" target="_blank">http://www.w3.org/1999/xhtml</a>" xml:lang="fr">
  3. <head>
  4. <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
  5. <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
  6. <title>Ajouter nouvelle info</title>
  7. <link href="CSS/style.css" rel="stylesheet" type="text/css" media="screen" />
  8. </head>
  9.  
  10. <BODY background="metal.jpg" style="background-repeat:no-repeat; background-attachment:fixed">
  11. <br>
  12. <ul id="menu_dynamique">
  13.  
  14. <li class="extend">Informations<ul>
  15. <li><a href="traitement.php">Infos Logiciels</a></li>
  16. <li class="sans"><a href="traitementmat.php">Infos Matériels</a></li>
  17. <li><a href="traitementcontrat.php">Infos Contrats</a></li>
  18. </ul>
  19. </li>
  20.  
  21. <li class="extend none"><a href="<a href="http://192.168.66.110/ouapi1.0" rel="nofollow" target="_blank">http://192.168.66.110/ouapi1.0</a>">Gérer le parc Informatique</a></li>
  22.  
  23. <li class="extend">Gestion des infos<ul>
  24.  
  25. <li><a href="nouvelle_info.html">Ajouter une info</a></li>
  26. <li class="sans"><a href="modifinfo.php">Modifier/Supprimer info</a></li>
  27. <li><a href="removerss.php">Supprimer document</a></li>
  28. </ul>
  29.  
  30. </li>
  31.  
  32. <li class="extend none">Gestion des flux RSS
  33.  
  34. <ul>
  35.  
  36. <li><a href="actu_flux.php">Actualiser les flux</a></li>
  37. <li class="sans"><a href="nouv_flux.html">Ajouter un flux</a></li>
  38. <li><a href="removeflux.php">Supprimer un flux</a></li>
  39.  
  40. </ul>
  41.  
  42. </li>
  43.  
  44. <li class="extend"><a href="<a href="http://www.groupe-ocealis.com/ocealis-securite.html" rel="nofollow" target="_blank">http://www.groupe-ocealis.com/ocealis-securite.html</a>" title="Lien vers le site d'Ocealis Sécurité">Ocealis Sécurité</a></li>
  45.  
  46. </ul>
  47. <br><br><br>
  48. <?php
  49.  
  50. //paramètres de connexion au serveur MySQL
  51. $user = "root";
  52. $mdp = "";
  53. $serveur = "localhost";
  54. $bdd = "application";
  55.  
  56.  
  57. /*********************Connexion au SGBD**************************/
  58.  
  59. function DBconnect($serveur,$user,$mdp,$bdd){
  60. $connexion = @mysql_connect($serveur,$user,$mdp)
  61. or die("problème de connexion au serveur BD");
  62. @mysql_select_db($bdd,$connexion)
  63. or die("echec de sélection de la BD");
  64. return $connexion;
  65. }
  66.  
  67.  
  68. //connexion à la base de données
  69. //paramètres : serveur, utilisateur, mot de passe, base de données
  70. $link2 = DBconnect($serveur,$user,$mdp,$bdd);
  71.  
  72. $title = addslashes($_POST['title']);
  73. $logiciel = addslashes($_POST['logiciel']);
  74. $version = addslashes($_POST['version']);
  75. $link = addslashes($_POST['link']);
  76. $description = addslashes($_POST['description']);
  77.  
  78. if(empty($title))
  79. $erreur = "<P align='center'><BR><B>Veuillez saisir le titre de l'info !</B><BR><BR><BR><A HREF='nouvelle_info.html' style='text-decoration:none; font-variant: small-caps;'><FONT SIZE=2><span style='border:solid 2px; border-color:#E7634D; padding:10px; border-radius:1em;'><B>Saisir de nouveau l'info</B></SPAN></FONT></A></P>";
  80.  
  81. if(empty($logiciel))
  82. $erreur = "<P align='center'><BR><B>Veuillez saisir le nom du logiciel / matériel !</B><BR><BR><BR><A HREF='nouvelle_info.html' style='text-decoration:none; font-variant: small-caps;'><FONT SIZE=2><span style='border:solid 2px; border-color:#E7634D; padding:10px; border-radius:1em;'><B>Saisir de nouveau l'info</B></SPAN></FONT></A></P>";
  83.  
  84. if(empty($link))
  85. $erreur = "<P align='center'><BR><B>Veuillez saisir un lien pour l'info !</B><BR><BR><BR><A HREF='nouvelle_info.html' style='text-decoration:none; font-variant: small-caps;'><FONT SIZE=2><span style='border:solid 2px; border-color:#E7634D; padding:10px; border-radius:1em;'><B>Saisir de nouveau l'info</B></SPAN></FONT></A></P>";
  86.  
  87. if(empty($description))
  88. $erreur = "<P align='center'><BR><B>Veuillez saisir la description de l'info !</B><BR><BR><BR><A HREF='nouvelle_info.html' style='text-decoration:none; font-variant: small-caps;'><FONT SIZE=2><span style='border:solid 2px; border-color:#E7634D; padding:10px; border-radius:1em;'><B>Saisir de nouveau l'info</B></SPAN></FONT></A></P>";
  89.  
  90. if (isset($erreur))
  91. {
  92. echo $erreur;
  93. }
  94. else
  95. if (preg_match("#(((https?|ftp)://(w{3}\.)?)(?<!www)(\w+-?)*\.([a-z]{2,4}))#", $link))
  96. {
  97. mysql_query("INSERT INTO infolog (title,logiciel,version,link,description) VALUES('$title','$logiciel','$version','$link','$description')");
  98. echo "<p align='center'><font size=4><BR><B>L'info suivante a bien ét&eacute ajoutée :</B></FONT></P>";
  99. echo "<P align='center'><I><B>"."<A HREF='$link'><FONT SIZE=4>".$title."</FONT></A></B></I></P><BR><BR>";
  100. echo "<A HREF='nouvelle_info.html' style='text-decoration:none; font-variant: small-caps;'><FONT SIZE=4><P align='center'><span style='border:solid 2px; border-color:#E7634D; padding:10px; border-radius:1em;'><B>Ajouter une nouvelle info</B></SPAN></FONT></A></P>";
  101. }
  102. else
  103. {
  104. echo "<P align='center'><BR><B>Le lien de l'info que vous avez saisi n'est pas correct !</B><BR><BR><BR><A HREF='nouvelle_info.html' style='text-decoration:none; font-variant: small-caps;'><FONT SIZE=2><span style='border:solid 2px; border-color:#E7634D; padding:10px; border-radius:1em;'><B>Saisir de nouveau l'info</B></SPAN></FONT></A></P>";
  105. }
  106.  
  107. mysql_close();
  108.  
  109. ?>
  110. </body>
  111. </html>
  • Commenter cette réponse |
Score
0
òh
òi
|
Ton formulaire, je viens de te le refaire, il est à utiliser tel-quel.
Si tu ne donnes pas la source complète de ton addinfo.php, je ne pourrais pas te donner plus d'infos.
  • Commenter cette réponse |
Score
0
òh
òi
|
Je suis désolé mais j'arrive pas à comprendre le truc et du coup je vois quelle partie de code il faut que je mette dans mon formulaire et quelle partie de code dans le fichier cible.
J'ai du html dans mon addinfo.php (qui constitue un menu présent sur toutes les pages) et je ne sais comment l'intégrer.
  • Commenter cette réponse |
Score
0
òh
òi
|
Tu les retrouves dans $_SESSION['erreur'].

Donc, sur la page du formulaire, tu peux faire (là où tu veux afficher l'erreur):
  1. <?php if (isset($_SESSION['erreur'])) echo $_SESSION['erreur']; ?>


Et pour pré-remplir le formulaire, tu utilises $_SESSION['post'] :
  1. <?php session_start() ?>
  2. <form action="addinfo.php" method="post">
  3. <tr>
  4. <!--<td width="6%"> </td>-->
  5. <td colspan="5"><P ALIGN='center'><FONT SIZE=5 COLOR='#377693'><span style="font-variant: small-caps;"><B>Ajouter une nouvelle Information</B></SPAN></FONT><BR><BR><BR></P></td>
  6. </tr>
  7. <tr>
  8. <td><div><font size=4 COLOR='#377693'><span style="font-variant: small-caps;"><B>Titre *</B></SPAN></font></div></td>
  9. </tr>
  10. <tr>
  11. <td colspan="35"><input type="text" name="title" size="76" maxlength="500" value="<?php echo (isset($_SESSION['post'])? $_SESSION['post']['title']:''); ?>"></td>
  12. </tr>
  13. <tr>
  14. <td><div><font size=4 COLOR='#377693'><span style="font-variant: small-caps;"><B>Logiciel / Matériel *</B></SPAN></font></div></td></tr>
  15. <tr>
  16. <td colspan="5"><input type="text" name="logiciel" size="50" maxlength="50" value="<?php echo (isset($_SESSION['post'])? $_SESSION['post']['logiciel']:''); ?>"></td>
  17. </tr>
  18. <tr>
  19. <td><div><font size=4 COLOR='#377693'><span style="font-variant: small-caps;"><B>Version</B></SPAN></font></div></td>
  20. </tr>
  21. <tr>
  22. <td colspan="5"><input type="text" name="version" size="20" maxlength="20" value="<?php echo (isset($_SESSION['post'])? $_SESSION['post']['version']:''); ?>"></td>
  23. </tr>
  24. <tr>
  25. <td><div><font size=4 COLOR='#377693'><span style="font-variant: small-caps;"><B>Lien *</B></SPAN></font></div></td></tr>
  26. <tr>
  27. <td colspan='5'><input type='text' name='link' size='76' maxlength='500' value="<?php echo (isset($_SESSION['post'])? $_SESSION['post']['link']:'http://'); ?>"></td>
  28. </tr>
  29. <tr>
  30. <td><BR><div><font size=4 COLOR='#377693'><B><span style="font-variant: small-caps;">Description *</SPAN></B></font></div></td>
  31. </tr>
  32. <tr>
  33. <td colspan='5'><textarea rows="5" cols="76" name="description"><?php echo (isset($_SESSION['post'])? $_SESSION['post']['description']:'Entrer ici votre description... '); ?></TEXTAREA></td>
  34. </tr>
  35. <tr>
  36. <td height="24"></td>
  37. <td> </td>
  38. <td> </td>
  39. </tr>
  40. <tr>
  41. <td height="14"></td>
  42. <td width="16%"><center><input type="reset" name="Submit2" value="Effacer"></center></td>
  43. <td width="28%"><left><input type="submit" name="Submit" value="Enregistrer l'info"></left></td>
  44. </tr>
  45. <tr>
  46. <td height="20"></td>
  47. <td></td>
  48. <td></td>
  49. </tr>
  50. </form>
  51. <?php unset($_SESSION[post]); ?>
  • Commenter cette réponse |
Score
0
òh
òi
|
merci pour ta réponse, mais je ne comprends pas quelle partie de mon code va où ?
Qu'est-ce que je dois mettre après :
else {
unset($_SESSION['post']);

??

Où vont mes messages d'erreur du type :
if(empty($title))
$erreur = "<P align='center'><BR><B>Veuillez saisir le titre de l'info !</B><BR><BR><BR><A HREF='nouvelle_info.html' style='text-decoration:none; font-variant: small-caps;'><FONT SIZE=2><span style='border:solid 2px; border-color:#E7634D; padding:10px; border-radius:1em;'><B>Saisir de nouveau la question</B></SPAN></FONT></A></P>";
  • Commenter cette réponse |
Score
0
òh
òi
|
Pour stocker en session, il suffit de faire dans addinfo.php:
  1. <?php
  2. session_start();
  3. $_SESSION['post'] = $_POST;
  4. /* ton code */
  5. if (isset($erreur)) {
  6. $_SESSION['erreur'] = $erreur;
  7. header("Location: ".$_SERVER['HTTP_REFERRER']);
  8. } else {
  9. unset($_SESSION['post']);
  10. /* La suite de ton code */
  11. }
  12. ?>


Attention, le session_start() doit être en tout début de page et la page ne doit afficher aucun texte avant le header().
  • Commenter cette réponse |
Score
0
òh
òi
|
Ok bah je vais regarder pour les sessions, le truc c'est que je sais pas trop comment stocker en session le contenu du formulaire.
  • Commenter cette réponse |
Score
0
òh
òi
|
  1. <form action="addinfo.php" method="post">
  2. <tr>
  3. <!--<td width="6%"> </td>-->
  4. <td colspan="5"><P ALIGN='center'><FONT SIZE=5 COLOR='#377693'><span style="font-variant: small-caps;"><B>Ajouter une nouvelle Information</B></SPAN></FONT><BR><BR><BR></P></td>
  5. </tr>
  6.  
  7. <tr>
  8. <td><div><font size=4 COLOR='#377693'><span style="font-variant: small-caps;"><B>Titre *</B></SPAN></font></div></td>
  9. </tr>
  10. <tr>
  11. <td colspan="35"><input type="text" name="title" size="76" maxlength="500"></td>
  12. </tr>
  13.  
  14. <tr>
  15. <td><div><font size=4 COLOR='#377693'><span style="font-variant: small-caps;"><B>Logiciel / Matériel *</B></SPAN></font></div></td></tr>
  16. <tr>
  17. <td colspan="5"><input type="text" name="logiciel" size="50" maxlength="50"></td>
  18. </tr>
  19.  
  20. <tr>
  21. <td><div><font size=4 COLOR='#377693'><span style="font-variant: small-caps;"><B>Version</B></SPAN></font></div></td>
  22. </tr>
  23. <tr>
  24. <td colspan="5"><input type="text" name="version" size="20" maxlength="20"></td>
  25. </tr>
  26.  
  27. <tr>
  28. <td><div><font size=4 COLOR='#377693'><span style="font-variant: small-caps;"><B>Lien *</B></SPAN></font></div></td></tr>
  29. <tr>
  30. <td colspan='5'><input type='text' name='link' size='76' maxlength='500' value='http://'></td>
  31. </tr>
  32.  
  33. <tr>
  34. <td><BR><div><font size=4 COLOR='#377693'><B><span style="font-variant: small-caps;">Description *</SPAN></B></font></div></td>
  35. </tr>
  36. <tr>
  37. <td colspan='5'><textarea rows="5" cols="76" name="description">Entrer ici votre description... </TEXTAREA></td>
  38. </tr>
  39.  
  40. <tr>
  41. <td height="24"></td>
  42. <td> </td>
  43. <td> </td>
  44. </tr>
  45. <tr>
  46. <td height="14"></td>
  47. <td width="16%"><center><input type="reset" name="Submit2" value="Effacer"></center></td>
  48. <td width="28%"><left><input type="submit" name="Submit" value="Enregistrer l'info"></left></td>
  49. </tr>
  50. <tr>
  51. <td height="20"></td>
  52. <td></td>
  53. <td></td>
  54. </tr>
  55. </form>


j'avoue c'est un peu codé à l'arrache
  • Commenter cette réponse |
Score
0
òh
òi
|
A mon avis, le JS est inutile.
En cas d'erreur, il suffit de stocker en session le contenu du formulaire et le message d'erreur et de faire une redirection automatique (header("Location: formulaire.php");) et là, de pré-remplir le formulaire avec les données présentes dans la session.

D'après moi, la vérification des formulaires en JS est un petit plus bien utile pour éviter les rechargements de page, mais ça n'est en aucun cas une sécurité, il est bien trop facile de désactiver le JS.
  • Commenter cette réponse |
Score
0
òh
òi
, Modérateur |
Salut,

Il ne doit pas forcément tout retaper. Il faut que tu repasses les données au formulaire une fois que tu les as vérifiées et qu'elles ne sont pas bonnes.

Sinon, sans voir ton formulaire ça va être difficile de t'aider pour du JavaScript, mais ça se met dans la même page dans des balises <script type="text/javascript">
Il faudra que tu créées une fonction qui va vérifier ton formulaire, et cette fonction tu l'appelles dans l'évènement onsubmit de ton <form>
  • Commenter cette réponse |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS