boss183 | Bonjour à tous,
alors je vous explique mon problème, j'avais réalisé un formulaire PHP qui testait les champs vides, ce formulaire était composé de deux scripts (un pour le formulaire et le "fichier action" ) ça marchait très bien sauf que s'il y avait un champ vide le fichier action indiquait l'erreur ainsi qu'un lien pour revenir au formulaire mais l'utilisateur perdait alors ce qu'il avait déjà tapé.
On m'a parlé de session PHP mais j'ai pas trop réussi à mettre en place le truc, j'ai donc décidé de réaliser ce formulaire avec un seul fichier mais j'ai l'erreur suivante :
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
Voilà ci-dessous mon code en entier :
Code :
- <?php
- // Paramètres pour accéder à ta base MysQl
- $host = "localhost";
- $user = "root";
- $password = "";
- $bdd = "application";
- // Connection à la Base MySql
- mysql_connect($host, $user, $password) or die ("impossible de se connecter au serveur" );
- mysql_select_db($bdd) or die ("impossible de se connecter a la base de donnees" );
- // Déclaration des champs (vides ou récupération des $_POST)...
- $title = (isset($_POST['title'])) ? htmlspecialchars($_POST['title']) : '';
- $logiciel = (isset($_POST['prenom'])) ? htmlspecialchars($_POST['logiciel']) : '';
- $version = (isset($_POST['version'])) ? htmlspecialchars($_POST['version']) : '';
- $link = (isset($_POST['link'])) ? htmlspecialchars($_POST['link']) : '';
- $logiciel = (isset($_POST['description'])) ? htmlspecialchars($_POST['description']) : '';
- // Si le formulaire a été envoyé, on teste les champs...
- $erreur = false;
- if (!empty($_POST)) {
- // vérification dans l'ordre inverse pour que le dernier soit le premier smile
- if (empty($title)) {
- $erreur = true;
- $errmsg = 'Merci de saisir le titre !';
- }
- if (empty($logiciel)) {
- $erreur = true;
- $errmsg = 'Merci de saisir le logiciel/matériel !';
- }
- // Si tout est OK on exécute l'action (INSERT dans la base, envoi d'email, etc...)
- if (!$erreur) {
- mysql_query("INSERT INTO infolog (title,logiciel,version,link,description) VALUES('$title','$logiciel','$version','$link','$description')" );
- header("Location: ajout_info.php" );
- exit;
- }
- }
- ?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
- <head>
- <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
- <meta http-equiv="content-type" content="text/html; charset=utf-8" />
- <title>Ajouter nouvelle info</title>
- <link href="CSS/style.css" rel="stylesheet" type="text/css" media="screen" />
- <style type="text/css">
- .alert {
- color:#990000;
- }
- </style>
- </head>
- <BODY background="metal.jpg" style="background-repeat:no-repeat; background-attachment:fixed">
- <?php
- if ($erreur) {
- echo '<p class="alert">'.$errmsg.'</p>';
- }
- ?>
- <br>
- <ul id="menu_dynamique">
- <li class="extend">Informations<ul>
- <li><a href="traitement.php">Infos Logiciels</a></li>
- <li class="sans"><a href="traitementmat.php">Infos Matériels</a></li>
- <li><a href="traitementcontrat.php">Infos Contrats</a></li>
- </ul>
- </li>
- <li class="extend none"><a href="http://192.168.66.110/ouapi1.0">Gérer le parc Informatique</a></li>
- <li class="extend">Gestion des infos<ul>
- <li><a href="nouvelle_info.html">Ajouter une info</a></li>
- <li class="sans"><a href="modifinfo.php">Modifier/Supprimer info</a></li>
- <li><a href="removerss.php">Supprimer document</a></li>
- </ul>
- </li>
- <li class="extend none">Gestion des flux RSS
- <ul>
- <li><a href="actu_flux.php">Actualiser les flux</a></li>
- <li class="sans"><a href="nouv_flux.html">Ajouter un flux</a></li>
- <li><a href="removeflux.php">Supprimer un flux</a></li>
- </ul>
- </li>
- <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>
- </ul>
- <br><br><br><br>
- <table align="center" width="800" height="390" border="0" cellpadding="0" cellspacing="0">
- <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
- <tr>
- <!--<td width="6%"> </td>-->
- <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>
- </tr>
- <tr>
- <td><div><font size=4 COLOR='#377693'><span style="font-variant: small-caps;"><B><label for="title">Titre *</label></B></SPAN></font></div></td>
- </tr>
- <tr>
- <td colspan="35"><input type="text" name="title" id="title" size="76" maxlength="500" value="<?php echo stripslashes($title); ?>" /></td>
- </tr>
- <tr>
- <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>
- <tr>
- <td colspan="5"><input type="text" name="logiciel" id="logiciel" size="50" maxlength="50" value="<?php echo stripslashes($logiciel); ?>" /></td>
- </tr>
- <tr>
- <td><div><font size=4 COLOR='#377693'><span style="font-variant: small-caps;"><B><label for="version">Version</label></B></SPAN></font></div></td>
- </tr>
- <tr>
- <td colspan="5"><input type="text" name="version" id="version" size="50" maxlength="50" value="<?php echo stripslashes($version); ?>" /></td>
- </tr>
- <tr>
- <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>
- <tr>
- <td colspan="5"><input type="text" name="link" id="link" size="50" maxlength="50" value="<?php echo stripslashes($link); ?>" /></td>
- </tr>
- <tr>
- <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>
- </tr>
- <tr>
- <td colspan='5'><textarea rows="5" cols="76" name="description" id="description" value="<?php echo stripslashes($description); ?>"></textarea></td>
- </tr>
- <tr>
- <td height="24"></td>
- <td> </td>
- <td> </td>
- </tr>
- <tr>
- <td height="14"></td>
- <td width="16%"><center><input type="reset" name="Submit2" value="Effacer"></center></td>
- <td width="28%"><left><input type="submit" name="Submit" value="Enregistrer l'info"></left></td>
- </tr>
- <tr>
- <td height="20"></td>
- <td></td>
- <td></td>
- </tr>
- </form>
- </table></td></tr>
- </table>
- </div>
- <BR><BR><BR>
- <P align="right"><FONT COLOR='#377693' STYLE="font-family:trebuchet MS;">* indique un champ requis</FONT></P>
- </body>
- </html>
|
Merci d'avance pour votre aide ! |