Probleme dans un formulaire - PHP - Programmation
Marsh Posté le 04-05-2006 à 11:05:56
Bah t'as récupéré tes valeurs coté serveur (au hasard php ?) non ? Donc suffit de les rebalancer au formulaire lorsque tu as un retour en erreur
Marsh Posté le 04-05-2006 à 11:10:21
oui dc je fais un echo dans mes zones de texte mais qd je fais "Valider" (de type submit) la page ne se recharge pas pourtant dans mon action je fais le lien sur lui même ...
Voila Merki
Marsh Posté le 04-05-2006 à 11:11:55
Citation : Bah t'as récupéré tes valeurs coté serveur (au hasard php ?) non ? Donc suffit de les rebalancer au formulaire lorsque tu as un retour en erreur |
ce qu'il veut dire, je pense, c'est que quand tu as une erreur,dans tes champs de saisie tu met l'attribue "value" et tu lui affecte la valleur saisie précédement avec $_POST
EDIT: met ton code stp
Marsh Posté le 04-05-2006 à 11:13:02
mitch46000 a écrit : oui dc je fais un echo dans mes zones de texte mais qd je fais "Valider" (de type submit) la page ne se recharge pas pourtant dans mon action je fais le lien sur lui même ... |
Tu t'es trompé
Marsh Posté le 04-05-2006 à 11:24:20
boulax a écrit : Comment le saurais-je ? |
VOici mon code peux etre que tu pourras y voir plus clair : ce fichier s appele "carnet_voyage.php"
***************************************************************************
<?php
@session_start();
?>
<script language="JavaScript" type="text/javascript" src="./include/rte/html2xhtml.js"></script>
<!-- To decrease bandwidth, use richtext_compressed.js instead of richtext.js //-->
<script language="JavaScript" type="text/javascript" src="./include/rte/richtext.js"></script>
<script language="JavaScript" type="text/javascript">
<!--
function submitForm() {
//make sure hidden and iframe values are in sync before submitting form
//to sync only 1 rte, use updateRTE(rte)
//to sync all rtes, use updateRTEs
//updateRTE(mes);
updateRTEs();
//change the following line to true to submit form
return true;
}
//Usage: initRTE(imagesPath, includesPath, cssFile, genXHTML)
initRTE("../temp/include/rte/images/", "", "", true);
//Attention au chemin employé !!!!!!!!!!!!
//-->
</script><link rel="stylesheet" type="text/css" href="style.css">
<style type="text/css" media="screen">@import "style.css";</style>
<?php
//connexion à la BDD
$db=mysql_connect('localhost','root','');
mysql_select_db("vietnam" );
$date = date("d-m-Y" ); //recuperation de la datre du jour
$val_pseudo = $_SESSION['pseudo_personne'];//recuperation de pseudo passé en session
if (@$_POST['valider']=="Valider" )
{
$verif="ok";
// Récupérer les nouvelles valeurs dans les zones de texte
$jour_v = $_POST['jour_voyage'];
$mois_v = $_POST['mois_voyage'];
$annee_v = $_POST['annee_voyage'];
//date du voyage
$date_v = $annee_v."-".$mois_v."-".$jour_v;
$r2 = $date_v;
//date publication (date du jour courant)
$jour_p = date ("d" );
$mois_p = date ("m" );
$annee_p = date ("Y" );
$date_p = $annee_p."-".$mois_p."-".$jour_p;
$r3 = $_POST['titre_carnet_voyage'];
@$r4_1 = $_POST['photo_carnet_voyage_1'];
@$r4_2 = $_POST['photo_carnet_voyage_2'];
@$r4_3 = $_POST['photo_carnet_voyage_3'];
@$r4_4 = $_POST['photo_carnet_voyage_4'];
@$r4_5 = $_POST['photo_carnet_voyage_5'];
@$r5=addslashes(@$_POST['commentaire_carnet_voyage']);// poste les valeurs en RTE dans ma basse de données
//test sur la saisie du titre carnet voyage
if (strlen($r3) == 0 )[#ff3800]couillage là aussi lol
{
echo "<script language=JavaScript type=text/JavaScript>
alert('Tous les champs sont obligatoires1');</script>";
$verif="pasok";
}
//test sur la saisie du jour mois annee voyage
if ( ($jour_v == '' ) || ($mois_v == '' ) || ($annee_v == '' ) )
{
echo "<script language=JavaScript type=text/JavaScript>
alert('Tous les champs sont obligatoires2');</script>";
$verif="pasok";
}
if ($r5 == '' )
{
echo "<script language=JavaScript type=text/JavaScript>
alert('Tous les champs sont obligatoires3');</script>";
$verif="pasok";
}
if($verif=="ok" ) {
echo "<script language=JavaScript type=text/JavaScript>alert('Vos données ont bien été enregistrées');</script>";
// insertion d une nouvelle valeur à la base carnet_voyage
@$requete_insertion = "INSERT INTO carnet_voyage ( pseudo_carnet_voyage , date_voyage ,
date_publication_carnet_voyage , titre_carnet_voyage ,photo_carnet_voyage_1 ,
photo_carnet_voyage_2 , photo_carnet_voyage_3 , photo_carnet_voyage_4 ,
photo_carnet_voyage_5 , commentaire_carnet_voyage ) VALUES
('".addslashes($val_pseudo)."' , '".addslashes($r2)."' , '".addslashes($date_p)."' ,
'".addslashes($r3)."' , '".addslashes($r4_1)."' , '".addslashes($r4_2)."' ,
'".addslashes($r4_3)."' , '".addslashes($r4_4)."' , '".addslashes($r4_5)."' ,
'".addslashes($r5)."')";
//$resultat = mysql_db_query("vietnam",$requete_insertion,$db);
//echo $requete_insertion;
$resultat=mysql_query($requete_insertion);
}
}
?>
<h3> Formulaire Carnet de voyage</h3>
<form name="form" method="post" action="carnet_voyage.php" onsubmit="return submitForm();">
<table width="100%" border="0">
<tr>
<td>Pseudo :</td>
<td ><input readonly size="30" name="pseudo_carnet_voyage" value="<? echo $val_pseudo;?>"></td>
</tr>
<tr>
<td>Titre carnet de voyage :</td>
<td> <input type="text" size="30" name="titre_carnet_voyage" value="<? echo $r3; ?>"></td>
</tr>[#ff3800]a mon avis c'est par là que ça couille et dans le test PHP plus haut
<tr>
<td> Date de voyage :</td>
<td colspan=3>
<?
echo"<select name=jour_voyage>";
echo"<option value='' selected>Jour </option>";
for($i=1; $i<32 ; $i++) {
echo"<option value= $i > $i </option>";
}
echo"</select>";
?>
<select name="mois_voyage" >
<option value="" selected>Mois </option>
<option value="01">Janvier </option>
<option value="02">Fevrier </option>
<option value="03">Mars </option>
<option value="04">Avril </option>
<option value="05">Mai </option>
<option value="06">Juin </option>
<option value="07">Juillet </option>
<option value="08">Aout </option>
<option value="09">Septenbre </option>
<option value="10">Octobre </option>
<option value="11">Novembre </option>
<option value="12">Decembre </option>
</select>
<? echo"<select name=annee_voyage>";
echo"<option value='' selected>Année </option>";
for($i=1920; $i<2007 ; $i++) {
echo"<option value= $i > $i </option>";
}
echo"</select>";
?> </td>
</tr>
<tr>
<td>Date de Publication :</td>
<td> <input readonly size="30" name="date_publication" value = <? echo $date;?> ></td>
</tr>
<tr>
<td>Commentaires :</td>
<td> <script language="JavaScript" type="text/javascript">
<?php
if (@$_POST['valider']=="Valider" ){
@$content = addslashes(rteSafe(@$_POST['commentaire_carnet_voyage']));
}
else {
@$content = "";
}
?>
writeRichText('commentaire_carnet_voyage', '<?php echo @$content; ?>', 520, 200, true, false);
</script> </td>
</tr>
</table>
<input type="submit" name="valider" value="Valider">
<input type="reset" value="Annuler" align="right">
<br><br>
</form>
***************************************************************************
Marsh Posté le 04-05-2006 à 11:25:27
Ces @ partout...
Vire tout ça déjà...
Marsh Posté le 04-05-2006 à 11:27:33
Code :
|
Y'a pas le code de submit de visible (et utilise les balises [cpp][/cpp])
Marsh Posté le 04-05-2006 à 11:30:19
les @ je les laisse sinon j ai des notice de parout de merde !!!
et pour le submitForm j apelle une fonction de type Rich text editor que j ai trouver sur le web
Marsh Posté le 04-05-2006 à 11:37:33
mitch46000 a écrit : les @ je les laisse sinon j ai des notice de parout de merde !!! |
c'est à mon avis déjà pas bon signe ça .....
Marsh Posté le 04-05-2006 à 11:38:47
mitch46000 a écrit : les @ je les laisse sinon j ai des notice de parout de merde !!! |
Donc tu préfères les masquer que de les corriger ?
Au pire, tu peux baisser le niveau d'erreur avec error_reporting, au moins ça ignorera pas les potentielles erreurs significatives...
Marsh Posté le 04-05-2006 à 11:39:19
mitch46000 a écrit : les @ je les laisse sinon j ai des notice de parout de merde !!! |
J'utilise une brosse à chiotte pour capter la tnt, mais ça marchep as
Marsh Posté le 04-05-2006 à 11:47:54
ok je pren note sinon j ai réussi se que je voulé faire !!!
Marsh Posté le 04-05-2006 à 11:51:10
sielfried a écrit : Donc tu préfères les masquer que de les corriger ? |
Ok merci sielfried mais ça correspond a quoi "error_reporting"
et comment on le déclare dans mon fichier PHP
Marsh Posté le 04-05-2006 à 09:32:50
Bonjour,
Mon probleme est le suivant :
Dans mon formulaire je saisie des champs et je teste leur existance ou non mais pour valider celui ci tt mes champs doivent etre saisi mais le souci jai appliquer le bouton de mon formulaire de type "submit" donc qd je clique dessus mes données sont perdus et la personnedoit tout ce retapé quoi donc jaimerai savoir coment recharge ton les données de mon formulaire
voila merci
Cordialement Matt