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

  FORUM HardWare.fr
  Programmation
  PHP

  Problème formulaire php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème formulaire php

n°367457
yamo_chie
Posté le 20-04-2003 à 11:27:49  profilanswer
 

Salut,
 
Voila quand je vais dans mon formulaire pour faire une news , il y a 3 champs à remplir, (Pseudo, Titre de la news, News) premierement, je ne sais pas comment rendre ces champs obligatoire,  
deuxiement une fois la news publiée, le pseudo est bien ecrit mais je vois ecris titre de la news : de la news, j'aimerais que vous rectifiez mes lignes de code pour corriger l'erreur:(allez voir à cette adresse si vous voulez faire la simulation : http://rap.us.fr.chez.tiscali.fr/poster_une_news.php )
 
<html>
<head><title>Formulaire pour faire une news</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
 
<body bgcolor="#000000" text="#FFFFFF" link="#CCCCCC" vlink="#999999">
<?php
 
// Si vous désirez adopter la même présentation que notre script :
// Indiquez ici la couleur de bordure des tableaux
$borduretable = "#FFFFFF";
// Indiquez ici la couleur de fond des tableaux
$backgroundtable = "#000033";
// Indiquez ici la couleur de fond du tableau contenant les messages du livre d'or
$backgroundtable2 = "#000033";
// Indiquez ici la largeur du tableau
$largeurtable = "600px";
 
// Sinon, libre à vous de modifier la mise en page ci-dessous
echo '
<table style="border: thin solid '.$borduretable.'; font-family: Verdana; font-size: 11px; width: '.$largeurtable.'; background-color: '.$backgroundtable.';">
<tr>
<td width="50%"><a href="poster_une_news.php">Lire les news</a></td>
<td width="50%">Ajouter une news</a></td>
</tr>
</table>
<br><br>';
 
// si le formulaire n'a pas été validé, la variable $poster est différente de "oui"
// on affiche donc le formulaire
 
if($poster!="oui" ){
echo '
<table style="border: thin solid '.$borduretable.'; font-family: Verdana; font-size: 11px; width: '.$largeurtable.'; background-color: '.$backgroundtable.';">
<tr><form action="">
<td>Pseudo</td>
<td><input type="text" name="nom" size="50" style="font-size:11px;"></td>
</tr><tr>
<td>Titre de la news</td>
<td><input type="text" name="Titre de la news" size="50" style="font-size:11px;"></td>
</tr><tr>
<td valign="top">Votre message</td>
<td><textarea cols="34" rows="8" name="message" style="font-size:11px;"></textarea></td>
</tr><tr>
<td colspan="2" align="center">
<input type="hidden" name="poster" value="oui" />
<input type="submit" value="Envoyer" / style="font-size:11px;">
<input type="reset" value="Effacer" / style="font-size:11px;">
</td>
</tr>
</table>
';
}
 
// si le formulaire a été validé, la variable $poster est égale à "oui"
// on traite donc les informations du formulaire
if($poster=="oui" )
{
// On commence pas mettre en forme le message correctement
 
// suppression des balises HTML pour éviter les codes malveillant
$message = htmlspecialchars($message);
 
// convertion des retour chariots par des <br> et suppression des /
$message= nl2br(stripslashes($message));  
 
// suppression des espaces en trop  
// ex: si le visiteur à inséré trois espaces, un seul sera pris en compte
$message = ereg_replace("[ ]{2,}", " ", $message );
 
// On vérifie que le fichier contenant les anciens messages existe
if(file_exists("news.htm" )){
 
// On copie le contenu des anciens messages dans une variable
// pour pouvoir y ajouter le message en cours
$fp=fopen("news.htm","r" );
$contenu=fread($fp,filesize("news.htm" ));
fclose($fp);
 
}
 
// On vide le contenu du fichier pour pouvoir y insérer le contenu
// de la variable contenant les anciens messages + le message en cours
$fp=fopen("news.htm","w" );
fclose($fp);
 
// On ajoute le message en cours et on remet les anciens messages en dessous
 
// On met le nom, la date et l'email du message en cours dans une variable
$data="$nom - ".date('d/m/Y';)." - Titre de la news : $Titre de la news</td></tr></table>";  
 
// On ouvre le fichier contenant les anciens messages  
// (actuellement vide)
$fp=fopen("news.htm","a" );  
 
// On y ajoute le message en cours et les anciens messages
fputs($fp,"<table style='border: thin solid ".$borduretable."; font-family: Verdana; font-size: 11px; width: ".$largeurtable."; background-color: ".$backgroundtable.";'>
<tr><td>$data</td></tr></table><table style='border: thin solid ".$borduretable."; font-family: Verdana; font-size: 11px; width: ".$largeurtable."; background-color: ".$backgroundtable2.";'>
<tr><td> $message </td></tr></table><br>\n<!-- guest -->\n$contenu" );
fclose($fp);  
 
// On affiche un message de remerciement
echo '<span style="font-family: Verdana; font-size: 11px;">News postée!!!</span>';
}
?>
</body>
</html>  
 
Derniere question en passant, comment rendre une partie privée dans une page web?
 
J'espere que vous pourrez repondre à mes questions merci d'avance!
@+

mood
Publicité
Posté le 20-04-2003 à 11:27:49  profilanswer
 

n°367460
Hermes le ​Messager
Breton Quiétiste
Posté le 20-04-2003 à 11:39:36  profilanswer
 

// On met le nom, la date et l'email du message en cours dans une variable
$data="$nom - ".date('d/m/Y';)." - Titre de la news : $Titre de la news</td></tr></table>";  
 
L'erreur est là.
 
Pour ta deuxième question :
 
Apprend le PHP. Et un conseil, en cas de problème avec un script récupéré ici ou là, pas la peine de venir poster ici. Ici, c'est pour ceux qui FONT leurs scripts.
 
(On est dimanche, c'est pour cela que j'ai quand même répondu à ta question...  [:totozzz] )

n°367464
Hermes le ​Messager
Breton Quiétiste
Posté le 20-04-2003 à 11:48:15  profilanswer
 

Un autre détail : Les variables en PHP ne peuvent pas contenir d'espace (ya plusieurs erreurs dans le script que tu as récupéré puis trafiqué).

n°367467
yamo_chie
Posté le 20-04-2003 à 11:51:20  profilanswer
 

Merci beaucoup, mais par quoi dois-je remplacer  
// On met le nom, la date et l'email du message en cours dans une variable  
$data="$nom - ".date('d/m/Y';)." - Titre de la news : $Titre de la news</td></tr></table>";
 
Sinon tu peux repondre à mes autres questions parceque j'ai deja essayé de me renseigner ailleur, et j'ai pas trouvé  :(

n°367477
Hermes le ​Messager
Breton Quiétiste
Posté le 20-04-2003 à 12:05:29  profilanswer
 

yamo_chie a écrit :

Merci beaucoup, mais par quoi dois-je remplacer  
// On met le nom, la date et l'email du message en cours dans une variable  
$data="$nom - ".date('d/m/Y';)." - Titre de la news : $Titre de la news</td></tr></table>";
 
Sinon tu peux repondre à mes autres questions parceque j'ai deja essayé de me renseigner ailleur, et j'ai pas trouvé  :(  


 
$Titre de la news --> $titre
 
et pareil partout où il y a $Titre de la news
 
 
Maintenant, apprends le PHP, ça ne sert à rien de récupérer des scripts tout faits (sauf pour avoir des exemples d'utilisation de telle ou telle fonction), et de plus, c'est pas l'objet de ce forum.  :hello:

n°367478
yamo_chie
Posté le 20-04-2003 à 12:08:41  profilanswer
 

Merci t'es gentil!
Je vais me mettre à apprendre le PHP, mais la c'était urgent.
@+

n°367655
yamo_chie
Posté le 21-04-2003 à 11:48:52  profilanswer
 

Sinon vous ne savez pas comment rendre les champs obligatoire?

n°367657
Hermes le ​Messager
Breton Quiétiste
Posté le 21-04-2003 à 11:54:47  profilanswer
 

yamo_chie a écrit :

Sinon vous ne savez pas comment rendre les champs obligatoire?


 
Si, tu testes pour savoir s'ils ont été rempli avec des conditions :
 
if (condition){exécution;}
 
--> direction phpdebutant.org  :hello:  A bientôt...

n°367673
yamo_chie
Posté le 21-04-2003 à 12:36:27  profilanswer
 

Tu peux me dire ou je dois le mettre?
Sinon je suis allé faire un tour sur phpdebutant, c'est cool!

n°367679
Hermes le ​Messager
Breton Quiétiste
Posté le 21-04-2003 à 12:49:18  profilanswer
 

yamo_chie a écrit :

Tu peux me dire ou je dois le mettre?
Sinon je suis allé faire un tour sur phpdebutant, c'est cool!


 
Non, ça servirait à rien. Il faut non seulement tester la condition mais également renvoyer une page de résultat puis une redirection vers ton formulaire. ça ne tient pas en une seule ligne, et il est hors de question que je fasse le boulot à ta place.
 
Donc, maintenant tu apprends le PHP et point barre.
 
Si ton problème est urgent, tu fais un test avec du javascript sur ton champs : ya des dizaine d'exemple de code sur google pour cela. ça te permettra de résoudre ton problème rapidement en attendant de connaitre suffisamment le php.
 


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

  Problème formulaire php

 

Sujets relatifs
probleme formulaire avec formmail...problème avec le navig dans un formulaire
Probléme requete sql et formulaireProbleme de validation de formulaire... page2
[PHP] Problème de confirmation d'inscription avec un formulaire.probleme d'envoi de formulaire
Problème Formulaire[PHP] Formulaire d'upload => Problème :(
problème de mise en forme d'un formulaire dans un tableauProblème affichage de formulaire
Plus de sujets relatifs à : Problème formulaire php


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