Accueil > Forum > > > > probleme formulaire
probleme formulaire
lundi 22 décembre 2008 à 18:35:37 |
probleme formulaire

laloire33150
|
Error convertoring HTML to XHTML: System.ArgumentException: The empty string '' is not a valid name. at System.Xml.XmlTextWriter.ValidateName(String name, Boolean NCName) at System.Xml.XmlTextWriter.InternalWriteProcessingInstruction(String name, String text) at System.Xml.XmlTextWriter.WriteProcessingInstruction(String name, String text) at System.Xml.XmlWriter.WriteNode(XmlReader reader, Boolean defattr) at FreeTextBoxControls.Support.Formatter.HtmlToXhtml(String input)
|
|
lundi 22 décembre 2008 à 18:38:39 |
Re : probleme formulaire

laloire33150
|
bonjour,
j'ai un souci avec mon formulaire
je ne recoit pas toute les variables sur mon email
voici les pages
html :
<form vname="FormName" action="PHPFormmail.php" method="post" enctype="multipart/form-data" name="form">
<center>
<table border="0" cellpadding="5" cellspacing="0" width="490" bgcolor="#DAFED6">
<tr>
<td width="147">Nom:</td>
<td width="323"><input type="text" name="subject" size="35"></td>
</tr>
<tr>
<td>Prenom:</td>
<td><input type="text" name="subject" size="35"></td>
</tr>
<tr>
<td>Email:</td>
<td><input type="text" name="email" size="35"></td>
</tr>
<tr>
<td>Nom du parrain:</td>
<td><input type="text" name="subject" size="35"></td>
</tr>
<tr>
<td>Prenom du parrain:</td>
<td><input type="text" name="subject" size="35"></td>
</tr>
<tr>
<td>Faites vous partie du Groupe MomentuM ?</td>
<td><p>
<label>
<input type="radio" name="oui" value="oui" id="Groupe de boutons radio1_0" />
oui</label>
<br />
<label>
<input type="radio" name="non" value="non" id="Groupe de boutons radio1_1" />
non</label>
<br />
</p></td>
</tr>
<tr>
<td>Login souhaite</td>
<td><input type="text" name="subject" size="35"></td>
</tr>
<tr>
<td>Mot de passe souhaite</td>
<td><input type="text" name="subject" size="35"></td>
</tr>
<tr>
<td>.</td>
<td>
<div align="center">
<input type="submit" value="Envoyer"></div>
</td>
</tr>
</table>
</center>
</form>
et la page php :
<?
/* PARAMETRAGE DU SCRIPT */
$dest = "fmactivite@gmail.com"; /* A qui s'adresse ce mail (TO) */
$copy_dest = ""; /* Email pour la Copie Carbone (CC) */
$cache_dest = ""; /* Email pour la Copie Carbone (BCC) */
$objet_page = "inscription a la formation"; /* Objet du mail (utile si vous utilisez ce script sur plusieures pages de votre site) */
$redirection = "merci1.html"; /* Redirection vers une autre page une fois l'envoie effectué */
$priority = "3"; /* Permet de définir la priorité du mail, les valeurs vont de 1 (urgent) à 5 (priorité basse) */
$reponse=StripSlashes("Merci, votre mail a bien été envoyé !"); /* Réponse de l'envoi du mail*/
/* FIN DU PARAMETRAGE */
/* ########################### NE RIEN TOUCHER EN DESSOUS ################################ */
$url_redir = $redirection;
class Mail {
var $sendto= array();
var $from, $msubject;
var $acc= array();
var $abcc= array();
var $aattach= array();
var $priorities= array( '1 (Highest)', '2 (High)', '3 (Normal)', '4 (Low)', '5 (Lowest)' );
// Mail contructor
function Mail() {
$this->autoCheck( true );
}
/* autoCheck( $boolean )
* activate or desactivate the email addresses validator
* ex: autoCheck( true ) turn the validator on
* by default autoCheck feature is on
*/
function autoCheck( $bool ) {
if( $bool )
$this->checkAddress = true;
else
$this->checkAddress = false;
}
/* Subject( $subject )
* define the subject line of the email
* $subject: any valid mono-line string
*/
function Subject( $subject ) {
$this->msubject = strtr( $subject, "\r\n" , " " );
}
/* From( $from )
* set the sender of the mail
* $from should be an email address
*/
function From( $from ) {
if( ! is_string($from) ) {
echo "Class Mail: Erreur, From n'est pas de la bonne forme";
exit;
}
$this->from= $from;
}
/* To( $to )
* set the To ( recipient )
* $to : email address, accept both a single address or an array of addresses
*/
function To( $to ) {
// TODO : test validité sur to
if( is_array( $to ) )
$this->sendto= $to;
else
$this->sendto[] = $to;
if( $this->checkAddress == true )
$this->CheckAdresses( $this->sendto );
}
/* Cc()
* set the CC headers ( carbon copy )
* $cc : email address(es), accept both array and string
*/
function Cc( $cc ) {
if( is_array($cc) )
$this->acc= $cc;
else
$this->acc[]= $cc;
if( $this->checkAddress == true )
$this->CheckAdresses( $this->acc );
}
/* Bcc()
* set the Bcc headers ( blank carbon copy ).
* $bcc : email address(es), accept both array and string
*/
function Bcc( $bcc ) {
if( is_array($bcc) ) {
$this->abcc = $bcc;
} else {
$this->abcc[]= $bcc;
}
if( $this->checkAddress == true )
$this->CheckAdresses( $this->abcc );
}
/* Body()
* set the body of the mail ( message )
*/
function Body( $body ) {
$this->body= $body;
}
/* Send()
* fornat and send the mail
*/
function Send() {
// build the headers
$this->_build_headers();
// include attached files
if( sizeof( $this->aattach > 0 ) ) {
$this->_build_attachement();
$body = $this->fullBody . $this->attachment;
}
// envoie du mail aux destinataires principaux
for( $i=0; $i< sizeof($this->sendto); $i++ ) {
$res = mail($this->sendto[$i], $this->msubject,$body, $this->headers);
// TODO : trmt res
}
}
/* Organization( $org )
* set the Organisation header
*/
function Organization( $org ) {
if( trim( $org != "" ) )
$this->organization= $org;
}
/* Priority( $priority )
* set the mail priority
* $priority : integer taken between 1 (highest) and 5 ( lowest )
* ex: $m->Priority(1) ; => Highest
*/
function Priority( $priority ) {
if( ! intval( $priority ) )
return false;
if( ! isset( $this->priorities[$priority-1]) )
return false;
$this->priority= $this->priorities[$priority-1];
return true;
}
/* Attach( $filename, $filetype )
* attach a file to the mail
* $filename : path of the file to attach
* $filetype : MIME-type of the file. default to 'application/x-unknown-content-type'
* $disposition : instruct the Mailclient to display the file if possible ("inline") or always as a link ("attachment")
* possible values are "inline", "attachment"
*/
function Attach( $filename, $filetype='application/x-unknown-content-type', $disposition = "inline" ) {
// TODO : si filetype="", alors chercher dans un tablo de MT connus / extension du fichier
$this->aattach[] = $filename;
$this->actype[] = $filetype;
$this->adispo[] = $disposition;
}
/* Get()
* return the whole e-mail , headers + message
* can be used for displaying the message in plain text or logging it
*/
function Get() {
$this->_build_headers();
if( sizeof( $this->aattach > 0 ) ) {
$this->_build_attachement();
$this->body= $this->body . $this->attachment;
}
$mail = $this->headers;
$mail .= "\n$this->body";
return $mail;
}
/* ValidEmail( $email )
* return true if email adress is ok - regex from Manuel Lemos (mlemos@acm.org)
* $address : email address to check
*/
function ValidEmail($address) {
if( ereg( ".*<(.+)>", $address, $regs ) ) {
$address = $regs[1];
}
if(ereg( "^[^@ ]+@([a-zA-Z0-9\-]+\.)+([a-zA-Z0-9\-]{2}|net|fr|com|gov|mil|org|edu|int)\$",$address) )
return true;
else
return false;
}
/* CheckAdresses()
* check validity of email addresses
* if unvalid, output an error message and exit, this may be customized
* $aad : array of emails addresses
*/
function CheckAdresses( $aad ) {
for($i=0;$i< sizeof( $aad); $i++ ) {
if( ! $this->ValidEmail( $aad[$i]) ) {
echo "Class Mail, method Mail : Adresse Invalide $aad[$i]";
exit;
}
}
}
/********************** PRIVATE METHODS BELOW **********************************/
/* _build_headers()
* [INTERNAL] build the mail headers
*/
function _build_headers() {
// creation du header mail
$this->headers= "From: $this->from\n";
$this->to= implode( ", ", $this->sendto );
if( count($this->acc) > 0 ) {
$this->cc= implode( ", ", $this->acc );
$this->headers .= "CC: $this->cc\n";
}
if( count($this->abcc) > 0 ) {
$this->bcc= implode( ", ", $this->abcc );
$this->headers .= "BCC: $this->bcc\n";
}
if( $this->organization != "" )
$this->headers .= "Organization: $this->organization\n";
if( $this->priority != "" )
$this->headers .= "X-Priority: $this->priority\n";
}
/*
* _build_attachement()
* internal use only - check and encode attach file(s)
*/
function _build_attachement() {
$this->boundary= "------------" . md5( uniqid("myboundary") ); // TODO : variable bound
$this->headers .= "MIME-Version: 1.0\nContent-Type: multipart/mixed;\n boundary=\"$this->boundary\"\n\n";
$this->fullBody = "This is a multi-part message in MIME format.\n--$this->boundary\nContent-Type: text/plain; charset=us-ascii\nContent-Transfer-Encoding: 7bit\n\n" . $this->body ."\n";
$sep= chr(13) . chr(10);
$ata= array();
$k=0;
// for each attached file, do...
for( $i=0; $i < sizeof( $this->aattach); $i++ ) {
$filename = $this->aattach[$i];
$basename = basename($filename);
$ctype = $this->actype[$i]; // content-type
$disposition = $this->adispo[$i];
if( ! file_exists( $filename) ) {
echo "Class Mail, method attach : file $filename can't be found"; exit;
}
$subhdr= "--$this->boundary\nContent-type: $ctype;\n name=\"$basename\"\nContent-Transfer-Encoding: base64\nContent-Disposition: $disposition;\n filename=\"$basename\"\n";
$ata[$k++] = $subhdr;
// non encoded line length
$linesz= filesize( $filename)+1;
$fp= fopen( $filename, 'r' );
$data= base64_encode(fread( $fp, $linesz));
fclose($fp);
$ata[$k++] = chunk_split( $data );
}
$this->attachment= implode($sep, $ata);
}
} // class Mail
/* Function redirection sans Header */
function redir($url_redir) {
echo "<script language=\"javascript\">";
echo "window.location=('$url_redir');";
echo "</script>";
}
$subject=StripSlashes($subject);
$msg=StripSlashes($msg);
$msg="Message depuis votre site web avec comme objet : \"$objet_page\" :
$msg";
/* Contruction du mail */
$m= new Mail; // create the mail
$m->From( "$email" );
$m->To( "$dest");
$m->Subject( "$subject" );
$m->Body( $msg); // set the body
/* S'il y a une copie conforme du mail */
if ($copy_dest!="") {
$m->Cc( "$copy_dest");
}
$m->Priority($priority) ;
/* S'il y a une copie cachée du mail */
if ($cache_dest!="") {
$m->Bcc( "$cache_dest");
}
$m->Priority($priority) ;
/* J'attache mon fichier */
if ("$NomFichier_name"!="") {
copy("$NomFichier","../upload/$NomFichier_name");
$m->Attach( "../upload/$NomFichier_name", "application/octet-stream" );
}
$m->Send(); /* Envoi du mail */
if ("$NomFichier_name"!="") {
Unlink("../upload/$NomFichier_name");
}
echo "$reponse"; /* Affichage du message d'envoi réussi */
if ("$redirection"!="") {
redir("$url_redir"); /* je renvoie sur une page spécifique */
}
?>
merci a vous
|
|
lundi 22 décembre 2008 à 20:05:26 |
Re : probleme formulaire

kohntark
|
Salut,
Bon, je n'ai rien épluché mais à priori il manque du code. Où sont traitées les variables de ton formulaire ?
Kohntark -
|
|
lundi 22 décembre 2008 à 20:18:56 |
Re : probleme formulaire

laloire33150
|
je suis bien d'accord avec toi, mais j'ai un souci, ce n'est pas moi qui est creer ce php, et je suis perdu, je ne sais pas ou mettre les variables,
et surtout je ne voudrais pas me trompe dans mes variable peux tu me donner un exemple ?
|
|
lundi 22 décembre 2008 à 21:37:56 |
Re : probleme formulaire

coucou747
|
salut
tu dois modifier ces lignes la :
$dest = "fmactivite@gmail.com"; /* A qui s'adresse ce mail (TO) */ $copy_dest = ""; /* Email pour la Copie Carbone (CC) */ $cache_dest = ""; /* Email pour la Copie Carbone (BCC) */ $objet_page = "inscription a la formation"; /* Objet du mail (utile si vous utilisez ce script sur plusieures pages de votre site) */ $redirection = "merci1.html"; /* Redirection vers une autre page une fois l'envoie effectué */ $priority = "3"; /* Permet de définir la priorité du mail, les valeurs vont de 1 (urgent) à 5 (priorité basse) */
$reponse=StripSlashes("Merci, votre mail a bien été envoyé !"); /* Réponse de l'envoi du mail*/
en mettant tes variables de formulaires a la place.
|
|
lundi 22 décembre 2008 à 23:09:46 |
Re : probleme formulaire
|
Cette discussion est classée dans : string, system, xml, name, at
Répondre à ce message
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|