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

  FORUM HardWare.fr
  Programmation

  Pb de fichier avec formulaire PHP Javascript

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Pb de fichier avec formulaire PHP Javascript

n°39868
jibix
Posté le 14-06-2001 à 23:27:00  profilanswer
 

CE que je n'arrive pas à faire c'est de ne pas écrire dans le fichier lorsque des champs ne sont pas remplis. J'ai bien une boite de dialogue qui me dit le champ qui n'est pas enregistrer mais les donées qui ont été insérées partiellement figurent dans le fichier.
Voici le script (un morceau ) :
<?php
 
$today=(date ('d F  20y - h:i A'));
$error=1;
echo"<html>
<head>
<meta http-equiv='Content-Type'content='text/html charset=iso-8859-1'>
<title>Livre d'or</title>
<SCRIPT LANGUAGE='JavaScript'>
function validation(){
         if (document.LIVREDOR.nom.value=='')
         {window.alert('Veuillez entrez votre nom.');
         return false;
         }
         if (document.LIVREDOR.email.value=='')
         {window.alert('Veuillez entrez votre e-mail.');
         return false;
 
         }
         if (document.LIVREDOR.city.value=='')
         {window.alert('Veuillez entrez votre ville.');
         return false;
 
         }
         if (document.LIVREDOR.country.value=='')
         {window.alert('Veuillez entrez votre pays.');
         return false;
 
         }
         if (document.LIVREDOR.text.value=='')
         {window.alert('Veuillez entrez votre commentaire.');
         return false;
 
        }
return true;
$error=0;
}
</SCRIPT>
 
</head>
<body leftmargin='0' bgcolor='black' text='white' >
<b><marquee><font face='Courier New, Courier, mono' color='#1D323D'> $today </font></marquee></b>
<div align='center'>  <H1> Livre d 'or </H1>
<FORM NAME='LIVREDOR'  onSubmit='validation();'>
<p align='center'>
  </p>
<table cellpadding=2 cellspacing=0 border=0 align='center'>
  <tr>
    <td align=right><font face='verdana, arial, helvetica' size=2>Nom : </font></td>
    <td>
      <input name='nom' size=30 length=20 >
    </td>
  </tr>
  <tr>
    <td align=right><font face='verdana, arial, helvetica' size=2>Email : </font></td>
    <td>
      <input name='email' size=30 length=30 >
    </td>
  </tr>
  <tr>
    <td align=right><font face='verdana, arial, helvetica' size=2>Ville : </font></td>
    <td>
      <input name='city' size=30 length=60 >
    </td>
  </tr>
  <tr>
    <td align=right><font face='verdana, arial, helvetica' size=2>Pays : </font></td>
    <td>
      <input name='country' size=30 length=60 >
    </td>
  </tr>
  <tr>
    <td align=right><font face='verdana, arial, helvetica' size=2>Commentaire :</font></td>
    <td>
      <input name='text' size=30 length=255 >
    </td>
  </tr>
  <tr>
    <td align=right colspan=2>
  <input type='submit' value='Ajouter mon commentaire'>
  <input type='reset' value=CLEAR>
    </td>
  </tr>
</table>
</FORM>";
/********************************
    DEBUT DE LA PROCEDURE DE SAUVEGARDE METHODE FILE
               *****************************************/
 
 
$fich=fopen("ldor.txt","a" );
/* TEST DU FICHIER */
if (!($fich))
{
print (" erreur de fichier : " );
print (" 'ldor.txt' ne peut pas être crée" );
exit;
}
 
 
/* ECRITURE DES LIGNES DANS LE FICHIER */
if ($error==0){
fputs($fich,"\t\t\t\t\t\t $nom \n" );
fputs($fich,"\t $email \n" );
fputs($fich,"\t $city  \n" );
fputs($fich,"\t $country \n" );
fputs($fich,"\t $text \n" );
 
fclose($fich);
 
/* Ouverture - LEcTURE */
$fich=fopen("ldor.txt","r" );
if (!($fich))
{
print ("Erreur sur le fichier !! " );
exit;
}
$i=0;
while (!feof($fich))
{
$myline = fgets($fich,250);
echo " "; print ("<B> $myline </B> <BR> " );
$i++;
}
 
fclose($fich);
 
echo "</body>
</html>";
 
?>
 
MERCI d'avance !!!

mood
Publicité
Posté le 14-06-2001 à 23:27:00  profilanswer
 

n°39879
jibix
Posté le 15-06-2001 à 00:03:52  profilanswer
 

personne ?

n°39881
m@nou
vu z&#039;avais pas vu
Posté le 15-06-2001 à 00:55:14  profilanswer
 

PHP s'exécute côté serveur avant d'afficher la page HTML au navigateur avec ton code javascript incorporé qui va s'exécuter côté client.
 
Donc au moment où tu affiche la page HTML ta variable error est à 0 et ne sera jamais changé par ton code javascript qui ne peut la connaître. Voilà.
 
Donc fait ta validation aussi en PHP. Pour çà faut nommer ton bouton de type submit déclencher de nouveau la même page de formulaire et tester si tu as effectivement appuyer sur submit.
 
exemple simplifié ( tu le nomme test.php et çà devrait fonctionner) pour te montrer le principe
 
<?php  
if ($submit) {
if (empty($saisie)) {
  echo "g une erreur";
}
else {
  echo "c bon";
}
}
else { // le formulaire de maj n'est pas validé -> on l'affiche  
?>
<html>  
<head>  
<title>Livre d'or</title>  
</head>  
<body leftmargin='0' bgcolor='black' text='white' >  
<FORM METHOD=POST ACTION="test.php">
  <input type='text' name='saisie' size=30 length=30 value="" >  
  <input type='submit' name='submit' value='Ajouter mon commentaire'>  
</FORM>
</body>  
</html>
<?php
}
?>
 
sur mon site c comme çà que g fait çà marche très bien :D

 

[edit]--Message édité par m@nou--[/edit]


---------------
Mes photos,Feed-Back HA/V

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

  Pb de fichier avec formulaire PHP Javascript

 

Sujets relatifs
En javascript qd j'ecris avec document.write j'...[PHP] Variables d'environnement
[PHP] Sauvegarder une page internet sur son disque en local[PHP] mail
(PHP) comment executer une fonction PHP stockee dans une variable?????javascript - modifier dynamiquent la couleur de fond d un tableau
[DEBAT] la sauvegarde de fichier[PHP] benchmarks
[PHP][BIBLIOLINK JAVASCRIPT]
Plus de sujets relatifs à : Pb de fichier avec formulaire PHP Javascript


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