Vous n'êtes pas identifié(e).
Bonsoir,
Nouveau utilisateur de ziteplus.
J'ai créé une page formulaire mais lors de l'envoi, les valeurs arrivent vides dans la page de traitement.
Ce formulaire fonctionne parfaitement sur d'autre site.
Url d'où le formulaire est visible (utilisez Firefox)
http://www.gitedesorres.fr/lycee/zitepl … 1290965618
dois-je utiliser get au lieu de post ou autre ....
Auriez vous une idée.
le code ci-dessous
<?php
include "cryptographp.fct.php";
$max = 5000000;
$taille_upluad=900000;
if ($_POST['envoi']=="oui")
{
if (chk_crypt($_POST['code']))
{$code="ok" ;}
else {$code="non_ok" ; $envoi="non";}
}
$nom=trim($nom);
$expediteur=trim($expediteur);
$tel=trim($tel);
$raison=trim($raison);
$sujet=trim($sujet);
$message=trim($message);
$code=trim($code);
if ($code=="ok" and $_POST['envoi']=="oui" )
{
$envoi="non";
$rep_sature=0;
$message_envoye=0;
$poids_image=0;
echo " nom $mon<br/>";
echo " expéditeur $expediteur<br/>";
echo " tel $tel<br/>";
echo " rason $raison<br/>";
echo " sujet $sujet<br/>";
echo " message $message<br/>";
include "../formulaire/envoie_formulaire_upluad.php" ;
$mail_ok="oui";
}
if ( $message_envoye!=1)
{
?>
<div align="center">
<table border="0" width="500" id="feuille" >
<tr>
<td>
<div align="center">
<table border="0" width="490" id="table3" cellpadding="5">
<tr>
<td>
<p align="center"><font size="4">Formulaire de contact de Projets de classe </font></p></td>
</tr>
<tr>
<td>
<form enctype="multipart/form-data" name="Form" action="" method="post" onSubmit="return validation(this)" >
<input type="hidden" name="envoi" value="oui"/>
<div align="left">
<table border="0" width="100%" id="table2">
<tr>
<td width="102">Votre Nom<br />ou Pseudo:</td>
<td>
<input onchange="this.value=this.value.trim()" type="text" class="formulaire" name="nom" size="47" value="<?php echo$nom?>" maxlength="22"/></td>
</tr>
</table>
</div>
<p align="left">Votre E-mail:
<input onchange="this.value=this.value.trim()" type="text" class="formulaire" name="expediteur" size="47" value="<?php echo$expediteur?>" maxlength="82"/></p>
<p align="left">Votre Tel.*:
<input onchange="this.value=this.value.trim()" type="text" class="formulaire" name="tel" size="15" value="<?php echo$tel?>" maxlength="14"/> forme: xx.xx.xx.xx.xx </p>
<p align="left">Raison du mail:
<select size="1" name="raison" class="formulaire" >
<option>Contactez l administrateur</option>
<option>Participation</option>
<option>Devenir partenaire</option>
<option>Autre raison</option>
</select></p>
<p align="left">Objet du message :
<input onchange="this.value=this.value.trim()" type="text" class="formulaire" name="sujet" size="44" value="<?php echo$sujet?>" maxlength="65"/></p>
<input type="hidden" name="verif" value="" />
<p align="left">Message de 300 caractères maximum.
Il reste <input type="text" class="formulaire" name="nbcar" size=5/>
caractères.<br />
<textarea onchange="this.value=this.value.trim()" rows="7" class="formulaire" name="message" cols="52" onKeyPress="compter(this.form)"><?php echo$message?></textarea>
</p>
<label align="left">
Fichier joint* <?php $taille_up=$taille_upluad/1000; echo $taille_up?>Ko maximum: <a href="#" class="info"><img border="0" src="../formulaire/savoir.jpg" alt=" question" width="15" height="15"/><span>Tout fichier peut être joint (<?php $taille_up=$taille_upluad/1000; echo $taille_up?>Ko maximun). Si vous en avez plusieurs refaites l opération autant de fois que nécessaire. Soyez patient lors du chargement.</span></a><br />
<input class="formulaire" type="file" name="fupload" size="46"/>
</label>
<div align="center">
<table border="0" width="81%" id="table4">
<tr>
<td align="center">
<?php
dsp_crypt(0,1);
?>
Recopier le code:<br><input class="formulaire" type="text" name="code">
<?php
if ($code=="non_ok") echo "<br /> <div class=\"erreur\"> Erreur dans le code </div>";
?>
</td>
</tr>
</table>
</div>
<p align="center">
<input class="formulaire" type="submit" value="Envoyer" name="B1"/>
</p>
</form>
</td>
</tr>
</table>
* Facultatif </div></td>
</tr>
</table>
</div>
<?php
;}
?>
Merci pour votre aide
Hors ligne
Bonsoir,
Le code est partiel .... et long ... difficile de voir ce qui cloche ...
à première vue, la seule chose qui me saute au yeux, c'est le action=""
de la ligne <form enctype="multipart/form-data" name="Form" action="" method="post" onSubmit="return validation(this)" >
D'habitude on met quelque chose
a+
Jean-Paul
Hors ligne
Merci pour ta réponse,
Le action "" remplace action="<?php $PHP_SELF; ?>" cela fonctionne puisque elle boucle sur elle même, mais les valeurs sont vides !! le script fonctionne, je l'utilise sur le site, cela est visible à l'adresse ci-dessus.
J'ai fait des essais, si j'envoie le formulaire hors de zite les valeurs sont sauves, si je fait un self les valeurs sont perdues.
Je pense (j'en suis pas sur) que le fait que les valeurs passent pas la classe zite elles sont écrasées.
Hors ligne
il vaut mieux récupérer les variables dans $_POST et même faire des strip_tags, stripslashes etc
exemple:
$nom=trim(strip_tags(stripslashes(@$_POST['nom'])));
ZiteCMS rocks !
Hors ligne
merci Michael, ce traitement se fait dans : include "../formulaire/envoie_formulaire_upluad.php" ;
J'ai trouvé une partie! la récupération de la variable via @$_post se fait dans la page incluse ci-dessous si l'on fait cette récupération avant l'inclusion ça marche. je sais pas pourquoi mais ça marche.
$nom = $_POST['nom'];
$expediteur = $_POST['expediteur'];
$tel = $_POST['tel'];
$raison = $_POST['raison'];
$sujet = $_POST['sujet'];
$message = $_POST['message'];
include "../formulaire/envoie_formulaire_upluad.php" ;
Par contre pour l'upluad le fichier téléchargé est vide.
Je crois qu'il faut aussi le traiter avant avec des outils de type @$_FILES.
Je vais essayer.
Si vous avez des idées je suis preneur.
Dernière modification par Michel (29/11/2010 23:37:47)
Hors ligne
merci Michael, ce traitement se fait dans : include "../formulaire/envoie_formulaire_upluad.php" ;
J'ai trouvé une partie! la récupération de la variable via @$_post se fait dans la page incluse ci-dessous si l'on fait cette récupération avant l'inclusion ça marche. je sais pas pourquoi mais ça marche.
$nom = $_POST['nom']; $expediteur = $_POST['expediteur']; $tel = $_POST['tel']; $raison = $_POST['raison']; $sujet = $_POST['sujet']; $message = $_POST['message']; include "../formulaire/envoie_formulaire_upluad.php" ;
Par contre pour l'upluad le fichier téléchargé est vide.
Je crois qu'il faut aussi le traiter avant avec des outils de type @$_FILES.
Je vais essayer.
Si vous avez des idées je suis preneur.
C'est bien ça $_FILES
avec move_uploaded_file et le nom temporaire du fichier
A+
Michael
ZiteCMS rocks !
Hors ligne
D'accord avec toi Michaël, mais je suis obligé de changer trop de chose sur le traitement du formulaire et comme ce formulaire est reprit dans les autres pages du site (Zite n'est que la partie présentation) cela m'oblige à avoir deux formulaire ect
Je détourne le problème, je met le formulaire hors la classe Zite.
Merci de votre aide.
Bravo pour votre script.
Je reviendrai, j'ai d'autres petites questions.
A+
Michel
Hors ligne
D'accord avec toi Michaël, mais je suis obligé de changer trop de chose sur le traitement du formulaire et comme ce formulaire est reprit dans les autres pages du site (Zite n'est que la partie présentation) cela m'oblige à avoir deux formulaire ect
Je détourne le problème, je met le formulaire hors la classe Zite.Merci de votre aide.
Bravo pour votre script.
Je reviendrai, j'ai d'autres petites questions.
A+
Michel
Tu peux toujours faire une petit boucle pour définir toutes les variables $_POST
$postvars = @$_POST;
if( !is_array( $postvars ) ) $postvars = array();
foreach( $postvars as $name => $val ) eval( '$' . $name . ' = "' . addslashes( $val ) . '";' );
ou un truc du genre...
mais ce type de codage n'est vraiment pas sûr.
A+
Michael
ZiteCMS rocks !
Hors ligne
Bonsoir Michaël,
Merci de t'intéresser à nom problème mais comme je l'ai dit j'ai mis le formulaire en externe comme cela je peux l'appeler de l'ensemble du site et je n'aurai qu'un script de formulaire.
En effet le site et un patchwork de script libre, perso, bricolé.
Je reviendrai car j'ai des questions.
Merci
Michel
Hors ligne