> Tous les forumsForum des Webmasters

 question sur formulaire php
Statut du sujet : NON RESOLU Imprimer
 ogd
  Posté le 23/03/2006 @ 18:08  
 Astucien

2047 Messages
Bonjour, je suis entrain de préparer un formulaire php et je me pose certaines questions : 1)dans mon formulaire html, j'utilisais un code pour que la page se ferme toute seule après le message de confirmation... voici le code:
<INPUT type="button" value="Envoyer" onClick="Envoyer(this.form);alert('Merci et à très bientôt dans FREQUENCE PLUS ONLINE!!!');window.close()">
Mais dans la page en php, ce code reste sans effet, je n'ai même pas la fenêtre javascript de confirmation...voici la ligne telle quelle:
<input type="submit" name="envoi" value="Envoyer" onClick="Envoyer(this.form);alert('Merci et à très bientôt dans FREQUENCE PLUS ONLINE!!!');window.close()">
2)je voudrais savoir s'il est possible de récupérer dans l'email l'ip de celui qui a rempli le formulaire? ou sa véritable adresse email en faisant passer le formulaire par son logicile de messagerie par exemple? Merci d'avance et bonne après midi ogd[smile]
 Afficher le profil de ogd Envoyer un message privé à ogd
 
 
Publicité
 ti_ouf  Posté le 23/03/2006 à 20:14  
Astucien


4770 Messages
salut on peut savoir ce qu'est ta fonction Envoyer() ? que tu mets dans ton onClick De plus tu pourrais te passer d'utiliser le javascript, en faisant une condition php, disant : si je recupere les variables $_POST alors j'affiche un message de remerciement ...
Afficher le profil de ti_ouf Voir la configuration de ti_oufEnvoyer un message privé à ti_ouf
  Revenir en haut de la page
 ogd  Posté le 24/03/2006 à 18:33  
Astucien

2047 Messages
Ce qu'elle fait là??? Ben heuuu, c'est à dire queuuuuu... elle s'est disputée avec son cher et tendre et elle s'est dit "tiens, je vais aller faire un tour dans un formulaire php..." Mais j'ai appelé son cher et tendre qui la ramenée à la maison... Et effectivement, ça marche mieux comme ça... j'ai déjà cette conditon, mais si je laisse seulement le window(close), la fenêtre se ferme sans qu'on ait pu lire la confirmation... Sauf si tu connais une autre solution? Pour l'ip et/ou le mail, tu ne sait pas si c'est possible? Merci Ogd
Afficher le profil de ogd Voir la configuration de ogdEnvoyer un message privé à ogd
 Revenir en haut de la page
 ti_ouf  Posté le 24/03/2006 à 19:05  
Astucien


4770 Messages
en général si tu veux utiliser une fonction comme celle que tu as envoyer(), il faut la définir, sinon le navigateur ne peut pas deviner quoi faire ... En php, pour récuprer l'ip, il suffit d'utiliser la Superglobale $_SERVER["REMOTE_ADDR"], ensuite tu la mets dans la variable qui recupere le texte que tu veux t'envoyer ...
Afficher le profil de ti_ouf Voir la configuration de ti_oufEnvoyer un message privé à ti_ouf
  Revenir en haut de la page
 ogd  Posté le 27/03/2006 à 16:26  
Astucien

2047 Messages
Hello, Merci pour ton aide ! pour l'ip, je place la variable dansle code php, pas d'erreur à l'ouverture de la page mais je ne reçois rien dans le mail... il y a un endroit précis où placer la variable? Merci Ogd
Afficher le profil de ogd Voir la configuration de ogdEnvoyer un message privé à ogd
 Revenir en haut de la page
 ti_ouf  Posté le 27/03/2006 à 18:52  
Astucien


4770 Messages
il faudrait déjà alléger un peu ton code, parce que là, çà fait une grosse tartine. Pour commencer il faut essayer d'utiliser le php au maxi, si tu l'utilises déjà, je pense par exemple que pour tout ce qui est vérification de formulaire, php te permets de faire beaucoup mieux que javascript. Utilises javascript uniquement si php est limité dans ce que tu evux faire et surtout pour tout ce qui est dynamisme coté client. voilà un exemple de ce que je ferais : sachant que pour ton exemple il faut un peu l'arranger, mais bon çà te met montre un peu : [code]<?php if (!empty($_POST)) //vérification du formulaire soumis{ $message_remerciement = "Message envoyé !"; if (isset($_POST['champ1']) && isset($_POST['champ2']) ......) // vérification que tes champs sont bien existant { $email = $_POST['champ1']; $nom = $_POST['champ1']; $comment = htmlentities($_POST['champ3'], ENT_NOQUOTES); $commentaire = addslashes($comment); //liste des destinataire du message $destinataire = "mon email ici"; //sujet du message $sujet="mon site ici"; //contenu du message $corps = "Un visiteur du nom de $nom a remplit le formulaire contact.Son ip est : $_SERVER[\"REMOTE_ADDR\"] ..... \n\r Son email est : $mail \nSes remarques sont les suivantes : $commentaire"; //envoi du mail @mail ($destinataire,$sujet,$corps); } else { // par défaut, c'est le bouton 1, même si on ne clique pas/ $message_remerciement = "Message non envoyé !"; } echo '</p>'; echo '<p>Le champ texte contient : ', $_POST['champ'], '</p>'; } ?>[/code]
Afficher le profil de ti_ouf Voir la configuration de ti_oufEnvoyer un message privé à ti_ouf
  Revenir en haut de la page
 ogd  Posté le 29/03/2006 à 18:36  
Astucien

2047 Messages
Hello! j'ai essayé de placer ton code, mais j'obtiens cette erreur :
Parse error: parse error, unexpected T_CHARACTER, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/users/f/fplus/www/formulaires/formulairephp.php on line 220
j'ai donc remplacé :
<input name="nbre_zones_texte" type="hidden" value="1"> <input name="nbre_zone_email" type="hidden" value="1"> <input name="titre_champ1" type="hidden" value="Nom (surnom)"><input name="titre_champ2" type="hidden" value="Age"><input name="titre_champ3" type="hidden" value="Ville"><input name="titre_champ4" type="hidden" value="Prénom (surnom) du destinataire"><input name="titre_champ5" type="hidden" value="Age"><input name="titre_champ6" type="hidden" value="Ville"><input name="titre_champ7" type="hidden" value="votre tube préféré en ce moment"><input name="titre_email" type="hidden" value="votre adresse E Mail"><input name="titre_zone" type="hidden" value="Votre message"></td> <td width="423"><div align="center"> <input type="hidden" name="IP" value="$SERVEUR["REMOTE_ADDR"]"> <input type="reset" name="Reset" value="Effacer"> <input type="submit" name="envoi" value="Envoyer" onClick="alert('Merci et à très bientôt dans FREQUENCE PLUS ONLINE!!!');window.close()">
par :
<?php if (!empty($_POST)) //vérification du formulaire soumis{ $message_remerciement = "Message envoyé !"; if (isset($_POST['champ1']) && isset($_POST['champ2']) && isset($_post['champ3']) && isset($_post['champ4']) && isset($_post['champ5']) && isset($_post['champ6']) && isset($_post['champ7']) ) // vérification que tes champs sont bien existant { $email = $_POST['champ1']; $nom = $_POST['champ1']; $comment = htmlentities($_POST['champ3'], ENT_NOQUOTES); $commentaire = addslashes($comment); //liste des destinataire du message $destinataire = "xxx@monsite.com"; //sujet du message $sujet="Fréquence Plus Online"; //contenu du message $corps = "Un visiteur du nom de $nom a remplit le formulaire contact.Son ip est : $_SERVER[\"REMOTE_ADDR\"] ..... \n\r Son email est : $mail \nSes remarques sont les suivantes : $commentaire"; //envoi du mail @mail ($destinataire,$sujet,$corps); } else { // par défaut, c'est le bouton 1, même si on ne clique pas/ $message_remerciement = "Message non envoyé !"; } echo '</p>'; echo '<p>Le champ texte contient : ', $_POST['champ'], '</p>'; } ?>
C'est bien ce qu'il fallait faire? Merci

Modifié par ogd le 29/03/2006 18:37
Afficher le profil de ogd Voir la configuration de ogdEnvoyer un message privé à ogd
 Revenir en haut de la page
 ti_ouf  Posté le 29/03/2006 à 18:59  
Astucien


4770 Messages
tu peux faire beaucoup plus court! En prennant ton exemple tu mets un champ caché dans ton formulaire => <input type="hidden" name="ip" value="$_SERVER['REMOTE_ADRR']" /> tu n'as qu'a vérifier que ton champs a été soumis! donc if(isset($_POST['ip'])) ....
Afficher le profil de ti_ouf Voir la configuration de ti_oufEnvoyer un message privé à ti_ouf
  Revenir en haut de la page
 ogd  Posté le 31/03/2006 à 18:47  
Astucien

2047 Messages
Heuu, je sens que tu vas te fâcher là[oeilnoir] finalement, je change de script php... j'en ai trouvé un pas mal je crois sur zonesecurité... par contre il est en 2 fichiers... tu peux me dire si tu vois des failles particulières et s'il y a un moyen de rassembler les 2 fichiers en un? Merci : code fichier 1 :
<?php include_once( "fronline.lib.php" ); ?> <html> <head> <title>Fréquence Plus Online</title> <!-- <meta http-equiv="Content-type" content="text/html; charset=iso-8859-1"> --> <style type='text/css'> .form_title{ color : #000000; font-size: 13px; font-family: verdana, Geneva, Arial, Helvetica, sans-serif; font-weight : bold; } .form_field { font-size : 13px; font-family : Verdana, Arial, Helvetica, sans-serif; color : #474747; font-weight : bold; text-align:left; } .form_text{ font-size : 11px; font-family : Verdana, Arial, Helvetica, sans-serif; color : #000000; } .text_box{ font-size : 11px; font-family : Verdana, Arial, Helvetica, sans-serif; color : #000000; width:200px; } .text_area{ font-size : 11px; font-family : Verdana, Arial, Helvetica, sans-serif; color : #000000; width:200px; height:60px; } .text_select{ font-size : 11px; font-family : Verdana, Arial, Helvetica, sans-serif; color : #000000; } .form_error{ font-size : 11px; font-family : Verdana, Arial, Helvetica, sans-serif; color : #ff0000; font-weight : bold; } .copyright{ font-size : 11px; font-family : Verdana, Arial, Helvetica, sans-serif; color : #000000; } </style> </head> <body marginheight="0" marginwidth="0" leftmargin="0" topmargin="0"> <meta http-equiv="content-type" content="text/html; charset="> <!-- ------------------------ Begin: Description de votre FormMail ------------------------ --> <br><br><br> <table cellspacing='16' cellpadding='0' border='0' align='center' ><tr><td> <font class='form_title'>Remplissez le formulaire, votre message sera envoyé à Cynthia Delory :</font> </td></tr></table> <!-- ------------------------ End: Description de votre FormMail ------------------------ --> <!-- ======================= Begin: Form Généré sur Zone Sécurité ======================= --> <?php if( !$isHideForm ): global $sErr ; if( $sErr ) print "<br><a name='error'></a><center><font class='form_error' >$sErr</font></center><br>"; $starColor = $sErr ? "#ff0000" : "#000000"; $style=" class='form_text' "; ?> <form name="frmFormMail" action="<?php print PHP_SELF ?>" method='post' enctype='multipart/form-data'> <input type='hidden' name='formmail_submit' value='Y'> <input type='hidden' name='esh_formmail_recipient' value="xxx@xxx.com"> <input type='hidden' name='esh_formmail_subject' value="Fréquence Plus Online"> <input type='hidden' name='esh_formmail_cc' value=""> <input type='hidden' name='esh_formmail_bcc' value=""> <input type='hidden' name='esh_formmail_return_subject' value="Re: Fréquence Plus Online"> <input type='hidden' name='esh_formmail_return_msg' value="Bonjour! Votre message a bien été pris en compte ! Il sera diffusé dès que possible entre 20H et Minuit. Rendez-vous avec Cynthia Delory pour savoir qui vous a envoyé un message dans Fréquence Plus Online !"> <input type='hidden' name='esh_formmail_mail_and_file' value=""> <input type='hidden' name='esh_formmail_charset' value=""> <table cellspacing='16' cellpadding='0' border='0' > <tr> <td class="form_field" valign='top' align='right'>Prénom (ou pseudo) </td><td width='10' aligh='right' valign='top'> <font size='2' color='#ff0000'>*</font> </td> <td class="form_text"> <input type="text" name="Prénom_(ou_pseudo)" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "Prénom_(ou_pseudo)" ] ); size="20" ?>" class='text_box'> </td> </tr> <tr> <td class="form_field" valign='top' align='right'>Age </td><td width='10' aligh='right' valign='top'> <font size='2' color='#ff0000'>*</font> </td> <td class="form_text"> <input type="text" name="Age" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "Age" ] ); size="20" ?>" class='text_box'> </td> </tr> <tr> <td class="form_field" valign='top' align='right'>Ville </td><td width='10' aligh='right' valign='top'> <font size='2' color='#ff0000'>*</font> </td> <td class="form_text"> <input type="text" name="Ville" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "Ville" ] ); size="20" ?>" class='text_box'> </td> </tr> <tr> <td class="form_field" valign='top' align='right'>Adresse E-mail </td><td width='10' aligh='right' valign='top'> <font size='2' color='#ff0000'>*</font> </td> <td class="form_text"> <input type="e-mail" name="Adresse_E-mail" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "Adresse_E-mail" ] ); size="20" ?>" class='text_box'> </td> </tr> <tr> <td class="form_field" valign='top' align='right'>Destinataire </td><td width='10' aligh='right' valign='top'> <font size='2' color='#ff0000'>*</font> </td> <td class="form_text"> <input type="text" name="Destinataire" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "Destinataire" ] ); size="20" ?>" class='text_box'> </td> </tr> <tr> <td class="form_field" valign='top' align='right'>Age </td><td width='10' aligh='right' valign='top'> <font size='2' color='#ff0000'>*</font> </td> <td class="form_text"> <input type="text" name="Age" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "Age" ] ); size="20" ?>" class='text_box'> </td> </tr> <tr> <td class="form_field" valign='top' align='right'>Ville </td><td width='10' aligh='right' valign='top'> <font size='2' color='#ff0000'>*</font> </td> <td class="form_text"> <input type="text" name="Ville" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "Ville" ] ); size="20" ?>" class='text_box'> </td> </tr> <tr> <td class="form_field" valign='top' align='right'>Votre tube préféré en ce moment </td><td width='10' aligh='right' valign='top'> <font size='2' color='#ff0000'>*</font> </td> <td class="form_text"> <input type="text" name="Votre_tube_préféré_en_ce_moment" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "Votre_tube_préféré_en_ce_moment" ] ); size="20" ?>" class='text_box'> </td> </tr> <tr> <td class="form_field" valign='top' align='right'>Votre message </td><td width='10' aligh='right' valign='top'> <font size='2' color='#ff0000'>*</font> </td> <td class="form_text"> <input type="text" name="Votre_message" value="<?php print HtmlSpecialChars( $HTTP_POST_VARS[ "Votre_message" ] ); size="20" ?>" class='text_box'> </td> </tr> <tr><td colspan=3 align='center'><input type='submit' value='Envoyer'> <input type='button' value='Sortie' onclick="location.href='/';"></td></tr> </table> </form> <!-- ======================= End: ======================= --> <?php if( $sErr ) print "<script language='javascript' type='text/javascript'>location.href='#error';</script>";;; else: //!$isHideForm print( "<br><br><hr><center><b>Votre formulaire a été envoyé.<br>Merci</b><br><br><INPUT type='button' value='Fermer' onClick='window.close()'></center><br><br>" ); endif; //!$isHideForm ?> <!-- -------------------------------------- COPY RIGHT -------------------------------------- --> <br><br><br><br> <div align="right" class='copyright'> <b>Généré sur: </b> <a href="http://www.zonesecurite.com" target="_blank">ZoneSécurité.com</a> </div> <br><br><br> </body> </html>
fichier 2
<? define( "ADMIN_MAIL", "xxx@xxx.com" ); // bug report email define( "HOST_NAME", getEnv( "HTTP_HOST" ) ); define( "PHP_SELF", getEnv( "SCRIPT_NAME" ) ); define( "ERR_MISSING", "Champ requis manquant : " ); define( "ERR_EMAIL", "Veuillez saisir une adresse E-mail valide : " ); define( "ERR_CREDIT_CARD_NUMBER", "Veuillez vérifier la solvabilité des numéros de la carte : " ); define( "ERR_CREDIT_CARD_EXPIRED", "Veuillez vérifier la solvabilité de la date d'échéance de la carte : " ); define( "ERR_SELECT_UPLOAD", "Veuillez choisir le fichier à télécharger : " ); error_reporting( E_ERROR | E_WARNING | E_PARSE ); ?><?php // --- Array of Form Elements --- $form_mail[] = array( "name" => "Prénom_(ou_pseudo)", "text" => "Prénom (ou pseudo)", "type" => "text", "required" => "Required" ) ; $form_mail[] = array( "name" => "Age", "text" => "Age", "type" => "text", "required" => "Required" ) ; $form_mail[] = array( "name" => "Ville", "text" => "Ville", "type" => "text", "required" => "Required" ) ; $form_mail[] = array( "name" => "Adresse_E-mail", "text" => "Adresse E-mail", "type" => "e-mail", "required" => "Required" ) ; $form_mail[] = array( "name" => "Destinataire", "text" => "Destinataire", "type" => "text", "required" => "Required" ) ; $form_mail[] = array( "name" => "Age", "text" => "Age", "type" => "text", "required" => "Required" ) ; $form_mail[] = array( "name" => "Ville", "text" => "Ville", "type" => "text", "required" => "Required" ) ; $form_mail[] = array( "name" => "Votre_tube_préféré_en_ce_moment", "text" => "Votre tube préféré en ce moment", "type" => "text", "required" => "Required" ) ; $form_mail[] = array( "name" => "Votre_message", "text" => "Votre message", "type" => "text", "required" => "Required" ) ; // -- Detech Submit & SendMail -- $isHideForm = false; if( $HTTP_POST_VARS["formmail_submit"] ){ $sErr = checkPass(); if( ! $sErr ){ sendFormMail( $form_mail, "") ; $isHideForm = true; $redirect = ""; if( strlen(trim($redirect)) ): header( "Location:$redirect" ); exit; endif; } } ?> <? // =============================================== function sendFormMail( $form_mail, $sFileName = "" ) { global $HTTP_POST_VARS ; $to = $HTTP_POST_VARS["esh_formmail_recipient"]; // I don't detect spam at this moment. it's to do list. $from = "online.submit@" . HOST_NAME ; $subject = $HTTP_POST_VARS["esh_formmail_subject"]; // first stage keep it simple: $sWhatToDo = $sFileName ? "mailandfile" : "" ; //$HTTP_POST_VARS["esh_formmail_mail_and_file"]; //$sFileName = $HTTP_POST_VARS["esh_formmail_save_record_file"]; $cc = $HTTP_POST_VARS["esh_formmail_cc"]; $bcc = $HTTP_POST_VARS["esh_formmail_bcc"]; $charset = $HTTP_POST_VARS["esh_formmail_charset"]; for( $i = 0; $i < count( $form_mail ); $i ++ ){ $value = trim( $HTTP_POST_VARS[ $form_mail[ $i ][ "name" ] ] ); $content .= $form_mail[ $i ][ "text" ] . " \t : " . $value ."\n"; $line .= remove_newline( $value ) . "\t" ; if( strtolower("E-mail") == strtolower($form_mail[ $i ][ "type" ]) ) { //print "Type:[" . $form_mail[ $i ][ "type" ] . "] $value <br>\n"; $from = $value ; } }; $content .= "\n\nIP:" . getEnv( "REMOTE_ADDR" ); Switch( strtolower($sWhatToDo) ){ case "mailandfile" : mailAttachments( $to , $subject , $content, $from, $charset, $cc , $bcc ) ; if( ! appendToFile( $sFileName, $line ) ) mailReport( $content . "\n\nFaille de l'écriture du Form Mail dans le dossier." ); break; case "fileonly" : if( ! appendToFile( $sFileName, $line ) ) mailReport( $content . "\n\nFaille de l'écriture du Form Mail dans le dossier.", $from ); break; default : mailAttachments( $to , $subject , $content, $from, $charset, $cc , $bcc ) ; } mailAutoResponse( $from ) ; } //------------------------------------------------------------------------------------------ function mailAutoResponse( $to ){ global $HTTP_POST_VARS ; $subject = $HTTP_POST_VARS["esh_formmail_return_subject"]; $responseMsg = $HTTP_POST_VARS["esh_formmail_return_msg"]; if( $to && $responseMsg ) mail( $to, $subject, $responseMsg, "From: " . $HTTP_POST_VARS["esh_formmail_recipient"] ); } //------------------------------------------------------------------------------------------ function mailReport( $content = "", $from = "" ){ mail( ADMIN_MAIL, "Error@" . HOST_NAME . PHP_SELF, $content, "From:$from" ); } //------------------------------------------------------------------------------------------ function remove_newline( $str = "" ){ $newliner = "<!--esh_newline-->" ; // replace \r\n with $newliner ; $newtaber = "<!--esh_newtaber-->" ; // replace \t with $newtaber ; $str = ereg_replace( "\t", $newtaber, $str ); $str = ereg_replace( "\r\n", $newliner, $str ); return ereg_replace( "\n", $newliner, $str ); } //------------------------------------------------------------------------------------------ function checkPass() { global $form_mail ; global $HTTP_POST_VARS ; global $HTTP_POST_FILES ; for( $i = 0; $i < count( $form_mail ); $i ++ ){ $type = strtolower( $form_mail[ $i ][ "type" ] ); $value = trim( $HTTP_POST_VARS[ $form_mail[ $i ][ "name" ] ] ); $required = $form_mail[ $i ][ "required" ] ; $text = stripslashes( $form_mail[ $i ][ "text" ] ); // simple check the field has something keyed in. if( !strlen($value) && ( $required == "Required" ) && $type != "attachment" ) return ERR_MISSING . $text ; // verify the special case if( ( strlen($value) || $type == "attachment" ) && $required == "Required" ): Switch( $type ){ case strtolower("Sender's Name") : break; case strtolower("E-mail generique"): case strtolower("E-mail"): if( ! formIsEMail($value) ) return ERR_EMAIL . $text ; break; case "text" : break; case "textarea" : break; case "checkbox" : case "radio" : break; case "selection" : break; case "attachment" : $upload_file = $HTTP_POST_FILES[ $form_mail[ $i ]["name"] ][ "tmp_name" ] ; if( ! is_uploaded_file($upload_file) ) return ERR_SELECT_UPLOAD . $text; break; case strtolower("Date(MM-DD-YYYY)"): break; case strtolower("Date(MM-YYYY)"): break; case strtolower("CreditCard(MM-YYYY)"): if( $value < date("Y-m") ) return ERR_CREDIT_CARD_EXPIRED . $text; break; case strtolower("CreditCard#"): if( !formIsCreditNumber( $value ) ) return ERR_CREDIT_CARD_NUMBER . $text ; break; case strtolower("Time(HH:MM:SS)"): break; case strtolower("Time(HH:MM)"): break; default : //return $sErrRequired . $form_mail[ $i ][ "text" ]; } // Switch endif; } // for return "" ; } //------------------------------------------------------------------------------------------ function formSelected( $var, $val ) { echo ( $var == $val ) ? "selected" : ""; } //------------------------------------------------------------------------------------------ function formChecked( $var, $val ) { echo ( $var == $val ) ? "checked" : ""; } //------------------------------------------------------------------------------------------ function formIsEMail( $email ){ return ereg( "^(.+)@(.+)\\.(.+)$", $email ); } //------------------------------------------------------------------------------------------ function selectList( $name, $selectedValue, $start, $end, $prompt = "-Select-", $style = "" ) { $tab = "\t" ; print "<select name=\"$name\" $style>\n" ; print $tab . "<option value=''>$prompt</option>\n" ; $nLen = strlen( "$end" ) ; $prefix_zero = str_repeat( "0", $nLen ); for( $i = $start; $i <= $end ; $i ++ ){ $stri = substr( $prefix_zero . $i, strlen($prefix_zero . $i)-$nLen, $nLen ); $selected = ( $stri == $selectedValue ) ? " selected " : "" ; print $tab . "<option value=\"$stri\" $selected >$stri</option>\n" ; } print "</select>\n\n" ; } //------------------------------------------------------------------------------------------ // something like CreditCard.pm in perl CPAN function formIsCreditNumber( $number ) { $tmp = $number; $number = preg_replace( "/[^0-9]/", "", $tmp ); if ( preg_match( "/[^\d\s]/", $number ) ) return 0; if ( strlen($number) < 13 && 0+$number ) return 0; for ($i = 0; $i < strlen($number) - 1; $i++) { $weight = substr($number, -1 * ($i + 2), 1) * (2 - ($i % 2)); $sum += (($weight < 10) ? $weight : ($weight - 9)); } if ( substr($number, -1) == (10 - $sum % 10) % 10 ) return $number; return $number; } // -------------------------- Begin Mail Attachment Functions ----------------------------------------------------------------- function mailAttachments( $to = "" , $subject = "" , $message = "" , $from = "xxx@xxx.com" , $charset = "iso-8859-1", $cc = "" , $bcc = "" ){ global $HTTP_POST_FILES ; if( ! strlen( trim( $to ) ) ) return "Missing \"To\" Field." ; $boundary = "====_My_PHP_Form_Generator_" . md5( uniqid( srand( time() ) ) ) . "===="; // setup mail header infomation $headers = "From: $from\r\n"; if ($cc) $headers .= "CC: $cc\r\n"; if ($bcc) $headers .= "BCC: $bcc\r\n"; $plainHeaders = $headers ; // for no attachments header $headers .= "MIME-Version: 1.0\nContent-type: multipart/mixed;\n\tboundary=\"$boundary\"\n"; $txtMsg = "\nThis is a multi-part message in MIME format.\n" . "\n--$boundary\n" . "Content-Type: text/plain;\n\tcharset=\"$charset\"\n\n" . $message . "\n"; //create mulitipart attachments boundary $sError = "" ; $nFound = 0; foreach( $HTTP_POST_FILES as $aFile ){ $sFileName = $aFile[ "tmp_name" ] ; $sFileRealName = $aFile[ "name" ] ; if( is_file( $sFileName ) ): if( $fp = fopen( $sFileName, "rb" ) ) : $sContent = fread( $fp, filesize( $sFileName ) ); $sFName = basename( $sFileRealName ) ; $sMIME = getMIMEType( $sFName ) ; $bPlainText = ( $sMIME == "text/plain" ) ; if( $bPlainText ) : $encoding = "" ; else: $encoding = "Content-Transfer-Encoding: base64\n"; $sContent = chunk_split( base64_encode( $sContent ) ); endif; $sEncodeBody .= "\n--$boundary\n" . "Content-Type: $sMIME;\n" . "\tname=\"$sFName\"\n" . $encoding . "Content-Disposition: attachment;\n" . "\tfilename=\"$sFName\"\n\n" . $sContent . "\n" ; $nFound ++; else: $sError .= "<br>File $sFileName can not open.\n" ; endif; // if( $fp = fopen( $sFileName, "rb" ) ) : else: $sError .= "<br>File $sFileName doesn't exist.\n" ; endif; //if( file_exists( $sFileName ) ): }; // end foreach $sEncodeBody .= "\n\n--$boundary--" ; $sSource = $txtMsg . $sEncodeBody ; $nFound ? mail( $to, $subject, $sSource, $headers ) : mail( $to, $subject, $message, $plainHeaders ); return $sError ; } /* --------------------------------------------------------------------------------------------------- Parameters: $sFileName Return : 1. "" : no extendsion name, or sFileName is empty 2. string: MIME Type name of array aMimeType's definition. ---------------------------------------------------------------------------------------------------*/ function getMIMEType( $sFileName = "" ) { $sFileName = strtolower( trim( $sFileName ) ); if( ! strlen( $sFileName ) ) return ""; $aMimeType = array( "txt" => "text/plain" , "pdf" => "application/pdf" , "zip" => "application/x-compressed" , "html" => "text/html" , "htm" => "text/html" , "avi" => "video/avi" , "mpg" => "video/mpeg " , "wav" => "audio/wav" , "jpg" => "image/jpeg " , "gif" => "image/gif" , "tif" => "image/tiff " , "png" => "image/x-png" , "bmp" => "image/bmp" ); $aFile = split( "\.", basename( $sFileName ) ) ; $nDiminson = count( $aFile ) ; $sExt = $aFile[ $nDiminson - 1 ] ; // get last part: like ".tar.zip", return "zip" return ( $nDiminson > 1 ) ? $aMimeType[ $sExt ] : ""; } // -------------------------- End Mail Attachment Functions ----------------------------------------------------------------- //------------------------------------------------------------------------------------------ function appendToFile( $sFileName = "", $line = "" ){ if( !$sFileName || !$line ) return 0; $hFile = fopen( "$sFileName", "a+w" ); $nBytes = 0; if( $hFile ){ $nBytes = fputs( $hFile , trim($line)."\r\n" ); fclose( $hFile ); }; return $nBytes ; } ?>
Merci
Afficher le profil de ogd Voir la configuration de ogdEnvoyer un message privé à ogd
 Revenir en haut de la page
Haut de la page 
Inscrivez-vous !
- Posez vos questions

- Résolvez vos problèmes

- Aidez les autres

- Participez et créez vos discussions

- Dialoguez en privé avec d'autres membres

- Suivez vos sujets préférés

- Affichez les signatures des membres

TOUT EST GRATUIT !

Je crée mon compte



Vous avez besoin d'aide ?
Des centaines d'experts sont à votre disposition sur les forums PC Astuces pour vous aider gratuitement, 24h/24, 7j/7.

Les derniers sujets résolus !
 

 > Tous les forumsForum des Webmasters

 
Forum PC Astuces© 1997-2008 WebastucesAller en haut de la page