Jump to content

sircharlo

Members
  • Posts

    191
  • Joined

  • Last visited

Everything posted by sircharlo

  1. Ok it's kinda what I was fearing... Thanks for the quick answer
  2. Hey guys! Btw, great new look Okay, I have a problem that I fear cannot be resolved.I would simply like confirmation of this. My site makes use of jQuery and the LavaLamp effet for the menu.You can check it out here. My problem is this: the portfolio section is basically a jQuery slideshow, with fading transitions and such.We're still good. The problem comes when I add an animation the the background image.The slideshow becomes choppy whenever the user moves his mouse. Am I coding in a non-efficent way?Or is this just a normal jQuery limitation? Thanks.
  3. Sorry guys, my provider just killed my website...I'll need to find a new host!Actually, I'm not using images for the hover. Just a background color. So I don't think that sprites are the way to go here.
  4. Hey guys!I haven't been HTML-ing in a while, but I'm back now.I am redoing my personal site, and I have a problem: my CSS code for the top-level menu works in all the decent browsers. This of course means that it does not work in IE.Why does a simple background-color change make my links flicker?I tested with IE7, it's all I have access to now.Try it out:www.logisoft.qc.ca/interWebCan someone shed some light on this?Thanks
  5. Courriel is email in french^^ just put any email like ffoey@crap.com and it will validate.
  6. Hey guys, I would realy appreciate a little help here !
  7. Hey all. I have a page that is heavily powered by JS.When a user fills in some info, the user can then choose one of two buttons, that each make a div appear.For some reason, these divs are aligining themselves really weirdly in Safari and Chrome. They'll work one time, then after the second time they aren't aligned anymore.However, Firefox doesn't have a problem.See the page here:http://www.zig-eyewear.com/FR/orderF.phpAnyone know why this is happening ?Thanks
  8. Hey all ! I fixed my problem ! Yes ! The problem was not with my page encoding, but rather with the php functions handling the strings. The script I used for my form mail uses the form input fields' value as the data (htmlentities). However, the default charset for htmlentities is :drumroll: iso-8859-1. Yes. So, I had to change my code like so: <input type="text" name="subject" id="subject" value="<?= htmlentities($values['subject'], ENT_QUOTES, "UTF-8") ?>"/> This fixed the accents issue. However, quotes and apostrophes were now escaped for no reason ! So, i added stripslashes to complete the fix. <input type="text" name="subject" id="subject" value="<?= stripslashes(htmlentities($values['subject'], ENT_QUOTES, "UTF-8")) ?>"/> Voilà ! Everything works great now.Thanks for all your help...
  9. Yep... Everything is saved as utf-8... Any more ideas ?The php processing really seems to be the problem here. But why ?
  10. That' just it ! My page is in UTF-8 ! Specified both with meta tag and with the header statement you gave. My problem does not lie with the sending of the email. It lies with the validation of form fields.If form fields are correctly filled, email is sent, accents and all, and everything is ship-shape.However, if a user forgot to fill in a field, the script detects this and shows the user what form field needs to be filled. However, the fields the user had already filled in remain populated (which is what i want), however it seems that in repopulating the fields, the char encoding is lost. Try it with this live demo, you'll see !
  11. OK, update: i changed the accept-encoding of the form tag to iso-8859-1, and that works... However, i prefer utf-8 !Anyone know why this is happening ?UPDATE2: OK, never mind... The accents survive the validation stage, but when sent to email, or passed to php as variables, i get gobbledygook.So, what's the deal with this ?
  12. Hey guys ! Got an interesting problem here. A form resides in question.php. Index.php displays top.php, question.php, and bottom.php. Top.php contains this statement: <meta http-equiv="Content-type" content="text/html; charset=utf-8"/> So, the form and its contents should be in UTF-8, right ? Anyway, to make sure, i added this to the form tag: accept-charset="utf-8" So, when the user clicks on submit, form is processed using question.php (yes, the same file !) and is validated to see if the user entered all of the needed data. If there are no errors, everything works great. I get the email, accents and all. But if, say, there's an empty field, the user is taken back to the form and the empty field is highlighted. Here's the problem: The form is repopulated with what the user had already put in. But if some letters typed in had accents, such as é à è ç, etc., they are scrambled on re-appearance !!! I don't know why...I created a .htaccess that says that all php files are to be read as utf-8, so that shouldn't be the problem...Help ?
  13. Hey guys, thanks for all your help !I found an even more elegant solution, using the php page the form resides on as the form processing page as well.Live demo (try submitting without filling all the fields)Thanks !
  14. No, I'm probably not, that's just it, i don't know how !The $reason variable is in the form of a unordered list, with each error consisting in one list item. I would prefer not passing this potentially large variable through the URL. Isn't there a way to state some sort of global variable, which would survive through different pages ?
  15. Hey guys. I'm beginning to explore PHP and it is very interesting.However i'm completely stumped for this one.Here goes: I have a page called index.php. <?php // Create the titleif (isset($_GET['page'])){ $page = str_replace('/', '/', str_replace('..', '', $_GET['page'])); $titletext = ucwords(str_replace('_', ' ', $_GET['page']));}else{ $page = 'home'; // Default page to show $titletext = 'Les Trucs de Florence';} $titletext = 'Les Trucs de Florence';include("top.php"); ?><?phprequire_once($page.'.php'); // Assuming all pages that will be included are using a .php extension.?> <?php include("bottom.php"); ?> This page calls various other PHP files, for the header and such.Now, on one of my pages, I have a form. When the user fills in the form correctly, I have no problems ! But if the user does not, the formmail.php script is designed to let the user know exactly what he did wrong. <?/*############################################################################### PLEASE DO NOT REMOVE THIS HEADER!!!## COPYRIGHT NOTICE## FormMail.php v5.0# Copyright 2000-2004 Ai Graphics and Joe Lumbroso © All rights reserved.# Created 07/06/2000 Last Modified 10/28/2003# Joseph Lumbroso, [url="http://www.aigraphics.com"]http://www.aigraphics.com[/url], [url="http://www.dtheatre.com"]http://www.dtheatre.com[/url]# [url="http://www.dtheatre.com/scripts/"]http://www.dtheatre.com/scripts/[/url]################################################################################ This cannot and will not be inforced but I would appreciate a link back# to any of these sites:# [url="http://www.dtheatre.com"]http://www.dtheatre.com[/url]# [url="http://www.aigraphics.com"]http://www.aigraphics.com[/url]# [url="http://www.dtheatre.com/scripts/"]http://www.dtheatre.com/scripts/[/url]## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR# OTHER DEALINGS IN THE SOFTWARE.###############################################################################*/// for ultimate security, use this instead of using the form$recipient = 'anonymous@email.net'; // youremail@domain.com// bcc emails (separate multiples with commas (,))$bcc = "";// referers.. domains/ips that you will allow forms to// reside on.$referers = array ('www.trucsdeflorence.com','trucsdeflorence.com','www.florencehealing.com','florencehealing.com','olis-mac.local');// banned emails, these will be email addresses of people// who are blocked from using the script (requested)$banlist = array ('www.stupidwebsite.com');// field / value seperatordefine("SEPARATOR", ($separator)?$separator:": ");// content newlinedefine("NEWLINE", ($newline)?$newline:"\n");// formmail version (for debugging mostly)define("VERSION", "5.0");// our mighty error function..function print_error($reason,$type = 0) { //build_body($title, $bgcolor, $text_color, $link_color, $vlink_color, $alink_color, $style_sheet); // for missing required data if ($type == "missing") { if ($missing_field_redirect) { header("Location: $missing_field_redirect?error=$reason"); exit; } else { ?> The form was not submitted for the following reasons:<p> <ul><? echo $reason."\n"; ?></ul> Please use your browser's back button to return to the form and try again.<? } } else { // every other error ?> The form was not submitted because of the following reasons:<p> <? } echo "<br><br>\n"; echo "<small>This form is powered by <a href=\"http://www.dtheatre.com/scripts/\">Jack's Formmail.php ".VERSION."</a></small>\n\n"; exit;}// function to check the banlist// suggested by a whole lot of people.. Thanksfunction check_banlist($banlist, $email) { if (count($banlist)) { $allow = true; foreach($banlist as $banned) { $temp = explode("@", $banned); if ($temp[0] == "*") { $temp2 = explode("@", $email); if (trim(strtolower($temp2[1])) == trim(strtolower($temp[1]))) $allow = false; } else { if (trim(strtolower($email)) == trim(strtolower($banned))) $allow = false; } } } if (!$allow) { print_error("Votre adresse email est bannie."); }}// function to check the referer for security reasons.// contributed by some one who's name got lost.. Thanks// goes out to him any way.function check_referer($referers) { if (count($referers)) { $found = false; $temp = explode("/",getenv("HTTP_REFERER")); $referer = $temp[2]; if ($referer=="") {$referer = $_SERVER['HTTP_REFERER']; list($remove,$stuff)=split('//',$referer,2); list($home,$stuff)=split('/',$stuff,2); $referer = $home; } for ($x=0; $x < count($referers); $x++) { if (eregi ($referers[$x], $referer)) { $found = true; } } if ($referer =="") $found = false; if (!$found){ print_error("Le formulaire que vous avez rempli se trouve sur un site Web non-autorisé."); error_log("[FormMail.php] Illegal Referer. (".getenv("HTTP_REFERER").")", 0); } return $found; } else { return true; // not a good idea, if empty, it will allow it. }}if ($referers) check_referer($referers);if ($banlist) check_banlist($banlist, $email);// This function takes the sorts, excludes certain keys and // makes a pretty content string.function parse_form($array, $sort = "") { // build reserved keyword array $reserved_keys[] = "MAX_FILE_SIZE"; $reserved_keys[] = "required"; $reserved_keys[] = "redirect"; $reserved_keys[] = "require"; $reserved_keys[] = "path_to_file";// $reserved_keys[] = "recipient"; $reserved_keys[] = "sujet"; $reserved_keys[] = "sort"; $reserved_keys[] = "style_sheet"; $reserved_keys[] = "bgcolor"; $reserved_keys[] = "text_color"; $reserved_keys[] = "link_color"; $reserved_keys[] = "vlink_color"; $reserved_keys[] = "alink_color"; $reserved_keys[] = "title"; $reserved_keys[] = "missing_fields_redirect"; $reserved_keys[] = "env_report"; $reserved_keys[] = "submit"; if (count($array)) { if (is_array($sort)) { foreach ($sort as $field) { $reserved_violation = 0; for ($ri=0; $ri<count($reserved_keys); $ri++) if ($array[$field] == $reserved_keys[$ri]) $reserved_violation = 1; if ($reserved_violation != 1) { if (is_array($array[$field])) { for ($z=0;$z<count($array[$field]);$z++) $content .= $field.SEPARATOR.$array[$field][$z].NEWLINE; } else $content .= $field.SEPARATOR.$array[$field].NEWLINE; } } } while (list($key, $val) = each($array)) { $reserved_violation = 0; for ($ri=0; $ri<count($reserved_keys); $ri++) if ($key == $reserved_keys[$ri]) $reserved_violation = 1; for ($ri=0; $ri<count($sort); $ri++) if ($key == $sort[$ri]) $reserved_violation = 1; // prepare content if ($reserved_violation != 1) { if (is_array($val)) { for ($z=0;$z<count($val);$z++) $content .= $key.SEPARATOR.$val[$z].NEWLINE; } else $content .= $key.SEPARATOR.$val.NEWLINE; } } } return $content;}// mail the content we figure out in the following stepsfunction mail_it($content, $sujet, $email, $recipient) { global $attachment_chunk, $attachment_name, $attachment_type, $attachment_sent, $bcc;// $ob = "----=_OuterBoundary_000";// $ib = "----=_InnerBoundery_001"; // $headers = "MIME-Version: 1.0\r\n"; $headers .= "From: ".$email."\n"; // $headers .= "To: ".$recipient."\n"; $headers .= "Reply-To: ".$email."\n";// if ($bcc) $headers .= "Bcc: ".$bcc."\n"; // $headers .= "X-Priority: 1\n"; // $headers .= "X-Mailer: DT Formmail".VERSION."\n"; // $headers .= "Content-Type: multipart/mixed;\n\tboundary=\"".//$ob."\"\n"; // $message = "This is a multi-part message in MIME format.\n";// $message .= "\n--".$ob."\n";// $message .= "Content-Type: multipart/alternative;\n\tboundary=\"".// $ib."\"\n\n";// $message .= "\n--".$ib."\n";// $message .= "Content-Type: text/plain;\n\tcharset=\"utf-8\"\n";// $message .= "Content-Transfer-Encoding: quoted-printable\n\n"; $message .= $content."\n\n";// $message .= "\n--".$ib."--\n";// if ($attachment_name && !$attachment_sent) {// $message .= "\n--".$ob."\n";// $message .= "Content-Type: $attachment_type;\n\tname=\"".// $attachment_name."\"\n";// $message .= "Content-Transfer-Encoding: base64\n";// $message .= "Content-Disposition: attachment;\n\tfilename=\"".// $attachment_name."\"\n\n";// $message .= $attachment_chunk;// $message .= "\n\n";// $attachment_sent = 1;// } $message .= "\n--".$ob."--\n"; mail($recipient, $sujet, $message, $headers);}// take in the body building arguments and build the body tag for page display//function build_body($title, $bgcolor, $text_color, $link_color, $vlink_color, $alink_color, $style_sheet) {// if ($style_sheet)// echo "<LINK rel=STYLESHEET href=\"$style_sheet\" Type=\"text/css\">\n";// if ($title)// echo "<title>$title</title>\n";// if (!$bgcolor)// $bgcolor = "#FFFFFF";// if (!$text_color)// $text_color = "#000000";// if (!$link_color)// $link_color = "#0000FF";// if (!$vlink_color)// $vlink_color = "#FF0000";// if (!$alink_color)// $alink_color = "#000088";// if ($background)// $background = "background=\"$background\"";// echo "<body bgcolor=\"$bgcolor\" text=\"$text_color\" link=\"$link_color\" vlink=\"$vlink_color\" alink=\"$alink_color\" $background>\n\n";//}// check for a recipient email address and check the validity of it// Thanks to Bradley miller (bradmiller@accesszone.com) for pointing// out the need for multiple recipient checking and providing the code.$recipient_in = split(',',$recipient);for ($i=0;$i<count($recipient_in);$i++) { $recipient_to_test = trim($recipient_in[$i]); if (!eregi("^[_\\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\\.)+[a-z]{2,6}{:content:}quot;, $recipient_to_test)) { print_error("Votre adresse email n'est pas valide."); }}// This is because I originally had it require but too many people// were used to Matt's Formmail.pl which used required instead.if ($required) $require = $required;// handle the required fieldsif ($require) { // seperate at the commas $require = ereg_replace( " +", "", $require); $required = split(",",$require); for ($i=0;$i<count($required);$i++) { $string = trim($required[$i]); // check if they exsist if((!(${$string})) || (!(${$string}))) { // if the missing_fields_redirect option is on: redirect them if ($missing_fields_redirect) { header ("Location: $missing_fields_redirect"); exit; } $require; $missing_field_list .= "<b>Missing: $required[$i]</b><br>\n"; } } // send error to our mighty error function if ($missing_field_list) print_error($missing_field_list,"missing");}// check the email fields for validityif (($email) || ($EMAIL)) { $email = trim($email); if ($EMAIL) $email = trim($EMAIL); if (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,6}{:content:}quot;, $email)) print_error("Veuillez entrer une adresse email valide."); $EMAIL = $email;}// check zipcodes for validityif (($ZIP_CODE) || ($zip_code)) { $zip_code = trim($zip_code); if ($ZIP_CODE) $zip_code = trim($ZIP_CODE); if (!ereg("(^[0-9]{5})-([0-9]{4}$)", trim($zip_code)) && (!ereg("^[a-zA-Z][0-9][a-zA-Z][[:space:]][0-9][a-zA-Z][0-9]{:content:}quot;, trim($zip_code))) && (!ereg("(^[0-9]{5})", trim($zip_code)))) print_error("Votre code postal n'est pas valide.");}// check phone for validityif (($PHONE_NO) || ($phone_no)) { $phone_no = trim($phone_no); if ($PHONE_NO) $phone_no = trim($PHONE_NO); if (!ereg("(^(.*)[0-9]{3})(.*)([0-9]{3})(.*)([0-9]{4}$)", $phone_no)) print_error("Votre numéro de téléphone n'est pas valide.");}// check phone for validityif (($FAX_NO) || ($fax_no)) { $fax_no = trim($fax_no); if ($FAX_NO) $fax_no = trim($FAX_NO); if (!ereg("(^(.*)[0-9]{3})(.*)([0-9]{3})(.*)([0-9]{4}$)", $fax_no)) print_error("Votre numéro de télécopieur n'est pas valide.");}// sort alphabetic or prepare an orderif ($sort == "alphabetic") { uksort($HTTP_POST_VARS, "strnatcasecmp");} elseif ((ereg('^order:.*,.*', $sort)) && ($list = explode(',', ereg_replace('^order:', '', $sort)))) { $sort = $list;} // prepare the content$content = parse_form($HTTP_POST_VARS, $sort);// check for an attachment if there is a file upload itif ($attachment_name) { if ($attachment_size > 0) { if (!$attachment_type) $attachment_type = "application/unknown"; $content .= "Attached File: ".$attachment_name."\n"; $fp = fopen($attachment, "r"); $attachment_chunk = fread($fp, filesize($attachment)); $attachment_chunk = base64_encode($attachment_chunk); $attachment_chunk = chunk_split($attachment_chunk); }}// check for a file if there is a file upload itif ($file_name) { if ($file_size > 0) { if (!ereg("/{:content:}quot;, $path_to_file)) $path_to_file = $path_to_file."/"; $location = $path_to_file.$file_name; if (file_exists($path_to_file.$file_name)) $location = $path_to_file.rand(1000,3000).".".$file_name; copy($file,$location); unlink($file); $content .= "Fichier transféré: ".$location."\n"; }}// second file (see manual for instructions on how to add more.)if ($file2_name) { if ($file_size > 0) { if (!ereg("/{:content:}quot;, $path_to_file)) $path_to_file = $path_to_file."/"; $location = $path_to_file.$file2_name; if (file_exists($path_to_file.$file2_name)) $location = $path_to_file.rand(1000,3000).".".$file2_name; copy($file2,$location); unlink($file2); $content .= "Fichier transféré: ".$location."\n"; }}// if the env_report option is on: get eviromental variablesif ($env_report) { $env_report = ereg_replace( " +", "", $env_report); $env_reports = split(",",$env_report); $content .= "\n------ eviromental variables ------\n"; for ($i=0;$i<count($env_reports);$i++) { $string = trim($env_reports[$i]); if ($env_reports[$i] == "REMOTE_HOST") $content .= "REMOTE HOST: ".$REMOTE_HOST."\n"; if ($env_reports[$i] == "REMOTE_USER") $content .= "REMOTE USER: ". $REMOTE_USER."\n"; if ($env_reports[$i] == "REMOTE_ADDR") $content .= "REMOTE ADDR: ". $REMOTE_ADDR."\n"; if ($env_reports[$i] == "HTTP_USER_AGENT") $content .= "BROWSER: ". $HTTP_USER_AGENT."\n"; }}// send it offmail_it(stripslashes($content), ($sujet)?stripslashes($sujet):"Form Submission", $email, $recipient);//if (file_exists($ar_file)) {// $fd = fopen($ar_file, "rb");// $ar_message = fread($fd, filesize($ar_file));// fclose($fd);// mail_it($ar_message, ($ar_sujet)?stripslashes($ar_sujet):"RE: Form Submission", ($ar_from)?$ar_from:$recipient, $email);//}// if the redirect option is set: redirect themif ($redirect) { header("Location: $redirect"); exit;}// <---------- THE END ----------> // The reason for the error is contained, as far as i can tell, in the variable $reason. However, I have no idea how to get that variable from my page after. Here's what happens:User loads home page (which is index.php).User clicks on Question (which is a link to index.php?page=question, which essentially replaces the body part of index.php with the content of question.php).User submits incorrectly filled form. (script is formmail.php)Formmail.php parses form, finds incorrect data, and dumps result into $reason.And, i believe, everything is in this crucial bit of code: <?php include("ads-left.php"); ?><?php include("ads-right.php"); ?> <div id='center'> <p>Le formulaire n'a pas été envoyé. Voici la raison:</p> <ul class="error"><? echo $reason; ?></ul> Veuillez entrer les données requises puis essayer de nouveau. </div> So, it should work, right ? But it doesn't !!!Why ?Try it out live here.
  16. Hey All !I'm building a website that uses PHP to display the same header across all pages, and also to simulate frames. Here is my code for index.php: <?php // Create the titleif (isset($_GET['page'])){ $page = str_replace('/', '/', str_replace('..', '', $_GET['page'])); $titletext = ucwords(str_replace('_', ' ', $_GET['page']));}else{ $page = 'accueil'; // Default page to show $titletext = 'interWeb';} $titletext = 'interWeb';include("top.php"); ?><!-- COLUMN ONE START --><?phprequire_once($page.'.php'); // Assuming all pages that will be included are using a .php extension.?> <?php include("footer.php"); ?> My question is: Will Google still be able to see and index my site and its pages ?Thanks
  17. Update: I tested the htc file with the sample page given, and it works !However, with my css, it doesn't. Anyone know why ? /* ================================================= COLORS USED: #005A85 = BASE TURQUOISE BLUE, BACKGROUND #003650 = DARK BLUE #ccdee7 = LIGHT BLUE #669cb6 = INACTIVE TAB BLUE================================================= */body { background-color:#005A85; margin: 0; padding: 0; font: normal small "Trebuchet MS", Arial, Helvetica, sans-serif; color: #222222;}h1, h2, h3, h4, h5, h6 { color: #111111;}a { color: #333333;}a:hover { text-decoration: none; color: #000000;}/* Header */#headerc { width: 83%; height: 120px; margin: 0 auto; background: url(images/img2.jpg) no-repeat center bottom;}#headerl { width: 25%; float:left; height: 120px; margin: 0 auto; background: url(images/img2.jpg) no-repeat center bottom;}#headerr { float:right; width: 75%; height: 120px; margin: 0 auto; background: url(images/img2.jpg) no-repeat center bottom;}/* Logo */#logo { float: left; background: #ccdee7; margin-top: 25px; padding: 20px 35px 20px 35px; position: relative; -moz-border-radius: 25px; -webkit-border-radius: 25px; behavior: url(border-radius.htc); border: #003650 solid 3px; }#logo * { /*text-transform: lowercase;*/ color: #005A85;}#logo h1 { letter-spacing: -3px; font-size: 45px; font-family: "Trebuchet MS", Geneva, Tahoma, sans-serif; margin-bottom: -15px; padding: 0px; margin: 0px; text-align: center; color: #003650;}#logo .part2 { letter-spacing: -3px; font-size: 50px; font-family: "Arial Black", Geneva, Tahoma, sans-serif; color: #003650;}#logo h2 { letter-spacing: 1px; font-size: 10px; padding: 0px; margin: 0px; margin-top: -5px; text-align: center;}/* Menu */#menu { float: right; height: 120px;}#menu ul { margin: 0; padding: 84px 0 0 0; list-style: none;}#menu li { display: inline; margin: 0; padding: 0;}#menu a { background: #669cb6; display: block; float: left; margin-right: 3px; padding: 10px 20px; text-decoration: none; text-transform: lowercase; font-size: 1em; font-weight: bold; color: #003650; height: 16px; -moz-border-radius-topleft: 15px; -webkit-border-top-left-radius: 15px; behavior: url(border-radius.htc);}#menu a.active { border-top: #003650 solid 3px; border-left: #003650 solid 3px; border-right: #003650 solid 3px; background: #ccdee7; color: #003650;/* -moz-border-radius-topleft: 0px; -webkit-border-top-left-radius: 0px; -moz-border-radius-topright: 15px; -webkit-border-top-right-radius: 15px; /*border-top: white solid 4px;/* color: #196a91;*/}#menu a.active:hover { color: #003650; background: #ccdee7; cursor: default; /*border-top: white solid 4px;/* color: #196a91;*/}#menu a:hover { background: #003650; color: #ccdee7;}/* MasterWrap */#masterwrap { width: 100%; background-color:#005A85; margin: 0 auto; padding-bottom: 15px; }/* Wrapper */#wrapper { width: 80%; margin: 0 auto; padding:60px 60px 20px 60px; -moz-border-radius: 30px; -webkit-border-radius: 30px; border: #003650 solid 3px;/* -moz-border-radius-topright: 30px; -webkit-border-top-right-radius: 30px; -moz-border-radius-bottomright: 30px; -webkit-border-bottom-right-radius: 30px; -moz-border-radius-bottomleft: 30px; -webkit-border-bottom-left-radius: 30px;*/ behavior: url(border-radius.htc); background-color:#ccdee7;}/* Content */#content { width: 100%; margin: 0 auto; background-color:auto;}/* Column One */#colOne { float: left; width: 65%;}#colOne h2 { margin-top: 0; font-size: 2.2em;}#colOne p, #colOne ul, #colOne ol { line-height: 160%;}#colOne .credits { margin-bottom: 20px; padding: 5px 0 20px 8px; border-bottom: 1px solid #2C2C2C;}#colOne .credits p { margin: 0; padding: 0; line-height: normal;}/* Column Two */#colTwo { float: right; width: 30%;}#colTwo ul { margin: 0; padding: 10px 0 0 0; list-style: none;}#colTwo li { margin-bottom: 20px;}#colTwo li li { margin-bottom: 20px;}#colTwo li li li { list-style-type: none;}#colTwo li ul { padding-left: 20px; list-style: square inside;}#colTwo h2 { padding-bottom: 5px; font-size: 1em; color: #111111; padding-left: 20px; border-bottom: 1px solid #2C2C2C;}#textfield1 {}#submit1 {}/* Footer */#footer { clear: both; width: 100%; margin: 0 auto;}#footer p { margin: 0; padding: 0; text-align: center; font-size: smaller;} Here's a live demo.Doesn't work !However, here's the sample page, which works !WHY ????Thanks
  18. Hey all ! I'm building a website which uses rounded corners using CSS, no images, and that's the way i want it.However, I found that the border-radius.htc method for IE does not work for me ! It only works on one element on my page !Does anyone know of a better workaround ? (Plz, without using images !)Thanks alot !
  19. Hey all !I've put up a tutorial detailing how to install a particular program on Mac OS X... Tell me what you think.http://www.logisoft.qc.ca/install-watchtower-library.htmlThank you.
  20. Good grief ! I found my problem ! This was the faulty code: <?/*############################################################################### PLEASE DO NOT REMOVE THIS HEADER!!!## COPYRIGHT NOTICE## FormMail.php v5.0# Copyright 2000-2004 Ai Graphics and Joe Lumbroso © All rights reserved.# Created 07/06/2000 Last Modified 10/28/2003# Joseph Lumbroso, [url="http://www.aigraphics.com"]http://www.aigraphics.com[/url], [url="http://www.dtheatre.com"]http://www.dtheatre.com[/url]# [url="http://www.dtheatre.com/scripts/"]http://www.dtheatre.com/scripts/[/url]################################################################################ This cannot and will not be inforced but I would appreciate a link back# to any of these sites:# [url="http://www.dtheatre.com"]http://www.dtheatre.com[/url]# [url="http://www.aigraphics.com"]http://www.aigraphics.com[/url]# [url="http://www.dtheatre.com/scripts/"]http://www.dtheatre.com/scripts/[/url]## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR# OTHER DEALINGS IN THE SOFTWARE.###############################################################################*/// for ultimate security, use this instead of using the form$recipient = 'jbarbier@trucsdeflorence.com'; // youremail@domain.com// bcc emails (separate multiples with commas (,))$bcc = "";// referers.. domains/ips that you will allow forms to// reside on.$referers = array ('www.trucsdeflorence.com','trucsdeflorence.com');// banned emails, these will be email addresses of people// who are blocked from using the script (requested)$banlist = array ('www.stupidwebsite.com');// field / value seperatordefine("SEPARATOR", ($separator)?$separator:": ");// content newlinedefine("NEWLINE", ($newline)?$newline:"\n");// formmail version (for debugging mostly)define("VERSION", "5.0");// our mighty error function..function print_error($reason,$type = 0) {// build_body($title, $bgcolor, $text_color, $link_color, $vlink_color, $alink_color, $style_sheet); // for missing required data if ($type == "missing") { if ($missing_field_redirect) { header("Location: $missing_field_redirect?error=$reason"); exit; } else { ?><!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'><html xmlns='http://www.w3.org/1999/xhtml'> <head> <meta http-equiv="Content-type" content= "text/html; charset=utf-8"/> <meta name='description' content= 'Obtenez des réponces à vos questions sur la médecine douce, la santé, et la naturopatie.'/> <meta name='keywords' content= 'médecine douce, consultation naturopathe gratuit, question santé, fibromyalgie, embonpoint, migraine, thyroïde, hypothyroïdie,arthrithe'/> <title>Bienvenue aux Trucs de Florence !</title> <link href='style.css' type='text/css' rel='stylesheet'/> </head> <body> <div id='page_wrapper'> <div id='page_header'> </div> <div id='menu_bar'> <div id='navcontainer'> <ul id='navlist'> <li> <a href='index.html'>Accueil</a> </li> <li> <a href='medecine_douce.html'>Médecines Douces</a> </li> <li> <a href='maux.html'>Maux</a> </li> <!--<li><a href='chronique.html'>Chronique</a></li> <li><a href='archives.html'>Archives</a></li>--> <li> <a href='question.html'>Vous avez une question ?</a> </li> <li> <a href='avis.html'>Contact</a> </li> <li> <a href='avis.html'>Avis</a> </li> </ul> </div> </div> <div id='content_wrapper'> <div id='left_side'> </div> <div id='right_side'> </div> <div id='center'> <p>Le formulaire n'a pas été envoyé. Voici la raison:</p> <ul class="error"><? echo $reason."\n"; ?></ul> Veuillez entrer les données requises puis essayer de nouveau. </div> </div> </div> </body></html><? } } else { // every other error ?> <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'><html xmlns='http://www.w3.org/1999/xhtml'> <head> <meta http-equiv="Content-type" content= "text/html; charset=utf-8"/> <meta name='description' content= 'Obtenez des réponces à vos questions sur la médecine douce, la santé, et la naturopatie.'/> <meta name='keywords' content= 'médecine douce, consultation naturopathe gratuit, question santé, fibromyalgie, embonpoint, migraine, thyroïde, hypothyroïdie,arthrithe'/> <title>Bienvenue aux Trucs de Florence !</title> <link href='style.css' type='text/css' rel='stylesheet'/> </head> <body> <div id='page_wrapper'> <div id='page_header'> </div> <div id='menu_bar'> <div id='navcontainer'> <ul id='navlist'> <li> <a href='index.html'>Accueil</a> </li> <li> <a href='medecine_douce.html'>Médecines Douces</a> </li> <li> <a href='maux.html'>Maux</a> </li> <!--<li><a href='chronique.html'>Chronique</a></li> <li><a href='archives.html'>Archives</a></li>--> <li> <a href='question.html'>Vous avez une question ?</a> </li> <li> <a href='avis.html'>Contact</a> </li> <li> <a href='avis.html'>Avis</a> </li> </ul> </div> </div> <div id='content_wrapper'> <div id='left_side'> </div> <div id='right_side'> </div> <div id='center'> <p>Le formulaire n'a pu être envoyé. Veuillez réessayer.</p> </div> </div> </div> </body></html> <? } exit;}// function to check the banlist// suggested by a whole lot of people.. Thanksfunction check_banlist($banlist, $email) { if (count($banlist)) { $allow = true; foreach($banlist as $banned) { $temp = explode("@", $banned); if ($temp[0] == "*") { $temp2 = explode("@", $email); if (trim(strtolower($temp2[1])) == trim(strtolower($temp[1]))) $allow = false; } else { if (trim(strtolower($email)) == trim(strtolower($banned))) $allow = false; } } } if (!$allow) { print_error("Votre adresse email est bannie."); }}// function to check the referer for security reasons.// contributed by some one who's name got lost.. Thanks// goes out to him any way.function check_referer($referers) { if (count($referers)) { $found = false; $temp = explode("/",getenv("HTTP_REFERER")); $referer = $temp[2]; if ($referer=="") {$referer = $_SERVER['HTTP_REFERER']; list($remove,$stuff)=split('//',$referer,2); list($home,$stuff)=split('/',$stuff,2); $referer = $home; } for ($x=0; $x < count($referers); $x++) { if (eregi ($referers[$x], $referer)) { $found = true; } } if ($referer =="") $found = false; if (!$found){ print_error("Le formulaire que vous avez rempli se trouve sur un site Web non-autorisé."); error_log("[FormMail.php] Illegal Referer. (".getenv("HTTP_REFERER").")", 0); } return $found; } else { return true; // not a good idea, if empty, it will allow it. }}if ($referers) check_referer($referers);if ($banlist) check_banlist($banlist, $email);// This function takes the sorts, excludes certain keys and // makes a pretty content string.function parse_form($array, $sort = "") { // build reserved keyword array $reserved_keys[] = "MAX_FILE_SIZE"; $reserved_keys[] = "required"; $reserved_keys[] = "redirect"; $reserved_keys[] = "require"; $reserved_keys[] = "path_to_file";// $reserved_keys[] = "recipient"; $reserved_keys[] = "subject"; $reserved_keys[] = "sort"; $reserved_keys[] = "style_sheet"; $reserved_keys[] = "bgcolor"; $reserved_keys[] = "text_color"; $reserved_keys[] = "link_color"; $reserved_keys[] = "vlink_color"; $reserved_keys[] = "alink_color"; $reserved_keys[] = "title"; $reserved_keys[] = "missing_fields_redirect"; $reserved_keys[] = "env_report"; $reserved_keys[] = "submit"; if (count($array)) { if (is_array($sort)) { foreach ($sort as $field) { $reserved_violation = 0; for ($ri=0; $ri<count($reserved_keys); $ri++) if ($array[$field] == $reserved_keys[$ri]) $reserved_violation = 1; if ($reserved_violation != 1) { if (is_array($array[$field])) { for ($z=0;$z<count($array[$field]);$z++) $content .= $field.SEPARATOR.$array[$field][$z].NEWLINE; } else $content .= $field.SEPARATOR.$array[$field].NEWLINE; } } } while (list($key, $val) = each($array)) { $reserved_violation = 0; for ($ri=0; $ri<count($reserved_keys); $ri++) if ($key == $reserved_keys[$ri]) $reserved_violation = 1; for ($ri=0; $ri<count($sort); $ri++) if ($key == $sort[$ri]) $reserved_violation = 1; // prepare content if ($reserved_violation != 1) { if (is_array($val)) { for ($z=0;$z<count($val);$z++) $content .= $key.SEPARATOR.$val[$z].NEWLINE; } else $content .= $key.SEPARATOR.$val.NEWLINE; } } } return $content;}// mail the content we figure out in the following stepsfunction mail_it($content, $subject, $email, $recipient) { global $attachment_chunk, $attachment_name, $attachment_type, $attachment_sent, $bcc;// $ob = "----=_OuterBoundary_000";// $ib = "----=_InnerBoundery_001"; // $headers = "MIME-Version: 1.0\r\n"; $headers .= "From: ".$email."\n"; // $headers .= "To: ".$recipient."\n"; $headers .= "Reply-To: ".$email."\n";// if ($bcc) $headers .= "Bcc: ".$bcc."\n"; // $headers .= "X-Priority: 1\n"; // $headers .= "X-Mailer: DT Formmail".VERSION."\n"; // $headers .= "Content-Type: multipart/mixed;\n\tboundary=\"".//$ob."\"\n"; // $message = "This is a multi-part message in MIME format.\n";// $message .= "\n--".$ob."\n";// $message .= "Content-Type: multipart/alternative;\n\tboundary=\"".// $ib."\"\n\n";// $message .= "\n--".$ib."\n";// $message .= "Content-Type: text/plain;\n\tcharset=\"utf-8\"\n";// $message .= "Content-Transfer-Encoding: quoted-printable\n\n"; $message .= $content."\n\n";// $message .= "\n--".$ib."--\n";// if ($attachment_name && !$attachment_sent) {// $message .= "\n--".$ob."\n";// $message .= "Content-Type: $attachment_type;\n\tname=\"".// $attachment_name."\"\n";// $message .= "Content-Transfer-Encoding: base64\n";// $message .= "Content-Disposition: attachment;\n\tfilename=\"".// $attachment_name."\"\n\n";// $message .= $attachment_chunk;// $message .= "\n\n";// $attachment_sent = 1;// } $message .= "\n--".$ob."--\n"; mail($recipient, $subject, $message, $headers);}// take in the body building arguments and build the body tag for page display//function build_body($title, $bgcolor, $text_color, $link_color, $vlink_color, $alink_color, $style_sheet) {// if ($style_sheet)// echo "<LINK rel=STYLESHEET href=\"$style_sheet\" Type=\"text/css\">\n";// if ($title)// echo "<title>$title</title>\n";// if (!$bgcolor)// $bgcolor = "#FFFFFF";// if (!$text_color)// $text_color = "#000000";// if (!$link_color)// $link_color = "#0000FF";// if (!$vlink_color)// $vlink_color = "#FF0000";// if (!$alink_color)// $alink_color = "#000088";// if ($background)// $background = "background=\"$background\"";// echo "<body bgcolor=\"$bgcolor\" text=\"$text_color\" link=\"$link_color\" vlink=\"$vlink_color\" alink=\"$alink_color\" $background>\n\n";//}// check for a recipient email address and check the validity of it// Thanks to Bradley miller (bradmiller@accesszone.com) for pointing// out the need for multiple recipient checking and providing the code.//$recipient_in = split(',',$recipient);//for ($i=0;$i<count($recipient_in);$i++) {// $recipient_to_test = trim($recipient_in[$i]);// if (!eregi("^[_\\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\\.)+[a-z]{2,6}$", $recipient_to_test)) {// print_error("Votre adresse email n'est pas valide.");// }//}// This is because I originally had it require but too many people// were used to Matt's Formmail.pl which used required instead.if ($required) $require = $required;// handle the required fieldsif ($require) { // seperate at the commas $require = ereg_replace( " +", "", $require); $required = split(",",$require); for ($i=0;$i<count($required);$i++) { $string = trim($required[$i]); // check if they exsist if((!(${$string})) || (!(${$string}))) { // if the missing_fields_redirect option is on: redirect them if ($missing_fields_redirect) { header ("Location: $missing_fields_redirect"); exit; } $require; $missing_field_list .= "<li>Ce champ requis est vide: <span class=\"missing\">$required[$i]</span></li>\n"; } } // send error to our mighty error function if ($missing_field_list) print_error($missing_field_list,"missing");}// check the email fields for validityif (($email) || ($EMAIL)) { $email = trim($email); if ($EMAIL) $email = trim($EMAIL); if (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,6}$", $email)) print_error("Veuillez entrer une adresse email valide."); $EMAIL = $email;}// check zipcodes for validityif (($ZIP_CODE) || ($zip_code)) { $zip_code = trim($zip_code); if ($ZIP_CODE) $zip_code = trim($ZIP_CODE); if (!ereg("(^[0-9]{5})-([0-9]{4}$)", trim($zip_code)) && (!ereg("^[a-zA-Z][0-9][a-zA-Z][[:space:]][0-9][a-zA-Z][0-9]$", trim($zip_code))) && (!ereg("(^[0-9]{5})", trim($zip_code)))) print_error("Votre code postal n'est pas valide.");}// check phone for validityif (($PHONE_NO) || ($phone_no)) { $phone_no = trim($phone_no); if ($PHONE_NO) $phone_no = trim($PHONE_NO); if (!ereg("(^(.*)[0-9]{3})(.*)([0-9]{3})(.*)([0-9]{4}$)", $phone_no)) print_error("Votre numéro de téléphone n'est pas valide.");}// check phone for validityif (($FAX_NO) || ($fax_no)) { $fax_no = trim($fax_no); if ($FAX_NO) $fax_no = trim($FAX_NO); if (!ereg("(^(.*)[0-9]{3})(.*)([0-9]{3})(.*)([0-9]{4}$)", $fax_no)) print_error("Votre numéro de télécopieur n'est pas valide.");}// sort alphabetic or prepare an orderif ($sort == "alphabetic") { uksort($HTTP_POST_VARS, "strnatcasecmp");} elseif ((ereg('^order:.*,.*', $sort)) && ($list = explode(',', ereg_replace('^order:', '', $sort)))) { $sort = $list;} // prepare the content$content = parse_form($HTTP_POST_VARS, $sort);// check for an attachment if there is a file upload itif ($attachment_name) { if ($attachment_size > 0) { if (!$attachment_type) $attachment_type = "application/unknown"; $content .= "Attached File: ".$attachment_name."\n"; $fp = fopen($attachment, "r"); $attachment_chunk = fread($fp, filesize($attachment)); $attachment_chunk = base64_encode($attachment_chunk); $attachment_chunk = chunk_split($attachment_chunk); }}// check for a file if there is a file upload itif ($file_name) { if ($file_size > 0) { if (!ereg("/$", $path_to_file)) $path_to_file = $path_to_file."/"; $location = $path_to_file.$file_name; if (file_exists($path_to_file.$file_name)) $location = $path_to_file.rand(1000,3000).".".$file_name; copy($file,$location); unlink($file); $content .= "Fichier transféré: ".$location."\n"; }}// second file (see manual for instructions on how to add more.)if ($file2_name) { if ($file_size > 0) { if (!ereg("/$", $path_to_file)) $path_to_file = $path_to_file."/"; $location = $path_to_file.$file2_name; if (file_exists($path_to_file.$file2_name)) $location = $path_to_file.rand(1000,3000).".".$file2_name; copy($file2,$location); unlink($file2); $content .= "Fichier transféré: ".$location."\n"; }}// if the env_report option is on: get eviromental variablesif ($env_report) { $env_report = ereg_replace( " +", "", $env_report); $env_reports = split(",",$env_report); $content .= "\n------ eviromental variables ------\n"; for ($i=0;$i<count($env_reports);$i++) { $string = trim($env_reports[$i]); if ($env_reports[$i] == "REMOTE_HOST") $content .= "REMOTE HOST: ".$REMOTE_HOST."\n"; if ($env_reports[$i] == "REMOTE_USER") $content .= "REMOTE USER: ". $REMOTE_USER."\n"; if ($env_reports[$i] == "REMOTE_ADDR") $content .= "REMOTE ADDR: ". $REMOTE_ADDR."\n"; if ($env_reports[$i] == "HTTP_USER_AGENT") $content .= "BROWSER: ". $HTTP_USER_AGENT."\n"; }}// send it offmail_it(stripslashes($content), ($subject)?stripslashes($subject):"Form Submission", $email, $recipient);//if (file_exists($ar_file)) {// $fd = fopen($ar_file, "rb");// $ar_message = fread($fd, filesize($ar_file));// fclose($fd);// mail_it($ar_message, ($ar_subject)?stripslashes($ar_subject):"RE: Form Submission", ($ar_from)?$ar_from:$recipient, $email);//}// if the redirect option is set: redirect themif ($redirect) { header("Location: $redirect"); exit;} else { echo "Merci de votre envoi.\n"; exit;}// <---------- THE END ----------> // Thank you all for your help !
  21. I know NOTHING (except for what is obvious) about PHP, so I really don't know how !
  22. No, it's not that.However, I did notice that in my client's email inbox, her email was specified twice, like this: Could it be that the recipient variable is being sent twice ?Any other ideas ?Thanks.<?/*############################################################################### PLEASE DO NOT REMOVE THIS HEADER!!!## COPYRIGHT NOTICE## FormMail.php v5.0# Copyright 2000-2004 Ai Graphics and Joe Lumbroso © All rights reserved.# Created 07/06/2000 Last Modified 10/28/2003# Joseph Lumbroso, [url="http://www.aigraphics.com"]http://www.aigraphics.com[/url], [url="http://www.dtheatre.com"]http://www.dtheatre.com[/url]# [url="http://www.dtheatre.com/scripts/"]http://www.dtheatre.com/scripts/[/url]################################################################################ This cannot and will not be inforced but I would appreciate a link back# to any of these sites:# [url="http://www.dtheatre.com"]http://www.dtheatre.com[/url]# [url="http://www.aigraphics.com"]http://www.aigraphics.com[/url]# [url="http://www.dtheatre.com/scripts/"]http://www.dtheatre.com/scripts/[/url]## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR# OTHER DEALINGS IN THE SOFTWARE.###############################################################################*/// for ultimate security, use this instead of using the form$recipient = "email@email.email"; // youremail@domain.com// bcc emails (separate multiples with commas (,))$bcc = "";// referers.. domains/ips that you will allow forms to// reside on.$referers = array ('www.trucsdeflorence.com','trucsdeflorence.com');// banned emails, these will be email addresses of people// who are blocked from using the script (requested)$banlist = array ('www.stupidwebsite.com');// field / value seperatordefine("SEPARATOR", ($separator)?$separator:": ");// content newlinedefine("NEWLINE", ($newline)?$newline:"\n");// formmail version (for debugging mostly)define("VERSION", "5.0");// our mighty error function..function print_error($reason,$type = 0) {// build_body($title, $bgcolor, $text_color, $link_color, $vlink_color, $alink_color, $style_sheet); // for missing required data if ($type == "missing") { if ($missing_field_redirect) { header("Location: $missing_field_redirect?error=$reason"); exit; } else { ?><!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'><html xmlns='http://www.w3.org/1999/xhtml'> <head> <meta http-equiv="Content-type" content= "text/html; charset=utf-8"/> <meta name='description' content= 'Obtenez des réponces à vos questions sur la médecine douce, la santé, et la naturopatie.'/> <meta name='keywords' content= 'médecine douce, consultation naturopathe gratuit, question santé, fibromyalgie, embonpoint, migraine, thyroïde, hypothyroïdie,arthrithe'/> <title>Bienvenue aux Trucs de Florence !</title> <link href='style.css' type='text/css' rel='stylesheet'/> </head> <body> <div id='page_wrapper'> <div id='page_header'> </div> <div id='menu_bar'> <div id='navcontainer'> <ul id='navlist'> <li> <a href='index.html'>Accueil</a> </li> <li> <a href='medecine_douce.html'>Médecines Douces</a> </li> <li> <a href='maux.html'>Maux</a> </li> <!--<li><a href='chronique.html'>Chronique</a></li> <li><a href='archives.html'>Archives</a></li>--> <li> <a href='question.html'>Vous avez une question ?</a> </li> <li> <a href='avis.html'>Contact</a> </li> <li> <a href='avis.html'>Avis</a> </li> </ul> </div> </div> <div id='content_wrapper'> <div id='left_side'> </div> <div id='right_side'> </div> <div id='center'> <p>Le formulaire n'a pas été envoyé. Voici la raison:</p> <ul class="error"><? echo $reason."\n"; ?></ul> Veuillez entrer les données requises puis essayer de nouveau. </div> </div> </div> </body></html><? } } else { // every other error ?> <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'><html xmlns='http://www.w3.org/1999/xhtml'> <head> <meta http-equiv="Content-type" content= "text/html; charset=utf-8"/> <meta name='description' content= 'Obtenez des réponces à vos questions sur la médecine douce, la santé, et la naturopatie.'/> <meta name='keywords' content= 'médecine douce, consultation naturopathe gratuit, question santé, fibromyalgie, embonpoint, migraine, thyroïde, hypothyroïdie,arthrithe'/> <title>Bienvenue aux Trucs de Florence !</title> <link href='style.css' type='text/css' rel='stylesheet'/> </head> <body> <div id='page_wrapper'> <div id='page_header'> </div> <div id='menu_bar'> <div id='navcontainer'> <ul id='navlist'> <li> <a href='index.html'>Accueil</a> </li> <li> <a href='medecine_douce.html'>Médecines Douces</a> </li> <li> <a href='maux.html'>Maux</a> </li> <!--<li><a href='chronique.html'>Chronique</a></li> <li><a href='archives.html'>Archives</a></li>--> <li> <a href='question.html'>Vous avez une question ?</a> </li> <li> <a href='avis.html'>Contact</a> </li> <li> <a href='avis.html'>Avis</a> </li> </ul> </div> </div> <div id='content_wrapper'> <div id='left_side'> </div> <div id='right_side'> </div> <div id='center'> <p>Le formulaire n'a pu être envoyé. Veuillez réessayer.</p> </div> </div> </div> </body></html> <? } exit;}// function to check the banlist// suggested by a whole lot of people.. Thanksfunction check_banlist($banlist, $email) { if (count($banlist)) { $allow = true; foreach($banlist as $banned) { $temp = explode("@", $banned); if ($temp[0] == "*") { $temp2 = explode("@", $email); if (trim(strtolower($temp2[1])) == trim(strtolower($temp[1]))) $allow = false; } else { if (trim(strtolower($email)) == trim(strtolower($banned))) $allow = false; } } } if (!$allow) { print_error("Votre adresse email est bannie."); }}// function to check the referer for security reasons.// contributed by some one who's name got lost.. Thanks// goes out to him any way.function check_referer($referers) { if (count($referers)) { $found = false; $temp = explode("/",getenv("HTTP_REFERER")); $referer = $temp[2]; if ($referer=="") {$referer = $_SERVER['HTTP_REFERER']; list($remove,$stuff)=split('//',$referer,2); list($home,$stuff)=split('/',$stuff,2); $referer = $home; } for ($x=0; $x < count($referers); $x++) { if (eregi ($referers[$x], $referer)) { $found = true; } } if ($referer =="") $found = false; if (!$found){ print_error("Le formulaire que vous avez rempli se trouve sur un site Web non-autorisé."); error_log("[FormMail.php] Illegal Referer. (".getenv("HTTP_REFERER").")", 0); } return $found; } else { return true; // not a good idea, if empty, it will allow it. }}if ($referers) check_referer($referers);if ($banlist) check_banlist($banlist, $email);// This function takes the sorts, excludes certain keys and // makes a pretty content string.function parse_form($array, $sort = "") { // build reserved keyword array $reserved_keys[] = "MAX_FILE_SIZE"; $reserved_keys[] = "required"; $reserved_keys[] = "redirect"; $reserved_keys[] = "require"; $reserved_keys[] = "path_to_file"; $reserved_keys[] = "recipient"; $reserved_keys[] = "subject"; $reserved_keys[] = "sort"; $reserved_keys[] = "style_sheet"; $reserved_keys[] = "bgcolor"; $reserved_keys[] = "text_color"; $reserved_keys[] = "link_color"; $reserved_keys[] = "vlink_color"; $reserved_keys[] = "alink_color"; $reserved_keys[] = "title"; $reserved_keys[] = "missing_fields_redirect"; $reserved_keys[] = "env_report"; $reserved_keys[] = "submit"; if (count($array)) { if (is_array($sort)) { foreach ($sort as $field) { $reserved_violation = 0; for ($ri=0; $ri<count($reserved_keys); $ri++) if ($array[$field] == $reserved_keys[$ri]) $reserved_violation = 1; if ($reserved_violation != 1) { if (is_array($array[$field])) { for ($z=0;$z<count($array[$field]);$z++) $content .= $field.SEPARATOR.$array[$field][$z].NEWLINE; } else $content .= $field.SEPARATOR.$array[$field].NEWLINE; } } } while (list($key, $val) = each($array)) { $reserved_violation = 0; for ($ri=0; $ri<count($reserved_keys); $ri++) if ($key == $reserved_keys[$ri]) $reserved_violation = 1; for ($ri=0; $ri<count($sort); $ri++) if ($key == $sort[$ri]) $reserved_violation = 1; // prepare content if ($reserved_violation != 1) { if (is_array($val)) { for ($z=0;$z<count($val);$z++) $content .= $key.SEPARATOR.$val[$z].NEWLINE; } else $content .= $key.SEPARATOR.$val.NEWLINE; } } } return $content;}// mail the content we figure out in the following stepsfunction mail_it($content, $subject, $email, $recipient) { global $attachment_chunk, $attachment_name, $attachment_type, $attachment_sent, $bcc;// $ob = "----=_OuterBoundary_000";// $ib = "----=_InnerBoundery_001"; // $headers = "MIME-Version: 1.0\r\n"; $headers .= "From: ".$email."\n"; $headers .= "To: ".$recipient."\n"; $headers .= "Reply-To: ".$email."\n";// if ($bcc) $headers .= "Bcc: ".$bcc."\n"; // $headers .= "X-Priority: 1\n"; // $headers .= "X-Mailer: DT Formmail".VERSION."\n"; // $headers .= "Content-Type: multipart/mixed;\n\tboundary=\"".//$ob."\"\n"; // $message = "This is a multi-part message in MIME format.\n";// $message .= "\n--".$ob."\n";// $message .= "Content-Type: multipart/alternative;\n\tboundary=\"".// $ib."\"\n\n";// $message .= "\n--".$ib."\n";// $message .= "Content-Type: text/plain;\n\tcharset=\"iso-8859-1// \"\n";// $message .= "Content-Transfer-Encoding: quoted-printable\n\n"; $message .= $content."\n\n";// $message .= "\n--".$ib."--\n";// if ($attachment_name && !$attachment_sent) {// $message .= "\n--".$ob."\n";// $message .= "Content-Type: $attachment_type;\n\tname=\"".// $attachment_name."\"\n";// $message .= "Content-Transfer-Encoding: base64\n";// $message .= "Content-Disposition: attachment;\n\tfilename=\"".// $attachment_name."\"\n\n";// $message .= $attachment_chunk;// $message .= "\n\n";// $attachment_sent = 1;// } $message .= "\n--".$ob."--\n"; mail($recipient, $subject, $message, $headers);}// take in the body building arguments and build the body tag for page display//function build_body($title, $bgcolor, $text_color, $link_color, $vlink_color, $alink_color, $style_sheet) {// if ($style_sheet)// echo "<LINK rel=STYLESHEET href=\"$style_sheet\" Type=\"text/css\">\n";// if ($title)// echo "<title>$title</title>\n";// if (!$bgcolor)// $bgcolor = "#FFFFFF";// if (!$text_color)// $text_color = "#000000";// if (!$link_color)// $link_color = "#0000FF";// if (!$vlink_color)// $vlink_color = "#FF0000";// if (!$alink_color)// $alink_color = "#000088";// if ($background)// $background = "background=\"$background\"";// echo "<body bgcolor=\"$bgcolor\" text=\"$text_color\" link=\"$link_color\" vlink=\"$vlink_color\" alink=\"$alink_color\" $background>\n\n";//}// check for a recipient email address and check the validity of it// Thanks to Bradley miller (bradmiller@accesszone.com) for pointing// out the need for multiple recipient checking and providing the code.$recipient_in = split(',',$recipient);for ($i=0;$i<count($recipient_in);$i++) { $recipient_to_test = trim($recipient_in[$i]); if (!eregi("^[_\\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\\.)+[a-z]{2,6}$", $recipient_to_test)) { print_error("Votre adresse email n'est pas valide."); }}// This is because I originally had it require but too many people// were used to Matt's Formmail.pl which used required instead.if ($required) $require = $required;// handle the required fieldsif ($require) { // seperate at the commas $require = ereg_replace( " +", "", $require); $required = split(",",$require); for ($i=0;$i<count($required);$i++) { $string = trim($required[$i]); // check if they exsist if((!(${$string})) || (!(${$string}))) { // if the missing_fields_redirect option is on: redirect them if ($missing_fields_redirect) { header ("Location: $missing_fields_redirect"); exit; } $require; $missing_field_list .= "<li>Ce champ requis est vide: <span class=\"missing\">$required[$i]</span></li>\n"; } } // send error to our mighty error function if ($missing_field_list) print_error($missing_field_list,"missing");}// check the email fields for validityif (($email) || ($EMAIL)) { $email = trim($email); if ($EMAIL) $email = trim($EMAIL); if (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,6}$", $email)) print_error("Veuillez entrer une adresse email valide."); $EMAIL = $email;}// check zipcodes for validityif (($ZIP_CODE) || ($zip_code)) { $zip_code = trim($zip_code); if ($ZIP_CODE) $zip_code = trim($ZIP_CODE); if (!ereg("(^[0-9]{5})-([0-9]{4}$)", trim($zip_code)) && (!ereg("^[a-zA-Z][0-9][a-zA-Z][[:space:]][0-9][a-zA-Z][0-9]$", trim($zip_code))) && (!ereg("(^[0-9]{5})", trim($zip_code)))) print_error("Votre code postal n'est pas valide.");}// check phone for validityif (($PHONE_NO) || ($phone_no)) { $phone_no = trim($phone_no); if ($PHONE_NO) $phone_no = trim($PHONE_NO); if (!ereg("(^(.*)[0-9]{3})(.*)([0-9]{3})(.*)([0-9]{4}$)", $phone_no)) print_error("Votre numéro de téléphone n'est pas valide.");}// check phone for validityif (($FAX_NO) || ($fax_no)) { $fax_no = trim($fax_no); if ($FAX_NO) $fax_no = trim($FAX_NO); if (!ereg("(^(.*)[0-9]{3})(.*)([0-9]{3})(.*)([0-9]{4}$)", $fax_no)) print_error("Votre numéro de télécopieur n'est pas valide.");}// sort alphabetic or prepare an orderif ($sort == "alphabetic") { uksort($HTTP_POST_VARS, "strnatcasecmp");} elseif ((ereg('^order:.*,.*', $sort)) && ($list = explode(',', ereg_replace('^order:', '', $sort)))) { $sort = $list;} // prepare the content$content = parse_form($HTTP_POST_VARS, $sort);// check for an attachment if there is a file upload itif ($attachment_name) { if ($attachment_size > 0) { if (!$attachment_type) $attachment_type = "application/unknown"; $content .= "Attached File: ".$attachment_name."\n"; $fp = fopen($attachment, "r"); $attachment_chunk = fread($fp, filesize($attachment)); $attachment_chunk = base64_encode($attachment_chunk); $attachment_chunk = chunk_split($attachment_chunk); }}// check for a file if there is a file upload itif ($file_name) { if ($file_size > 0) { if (!ereg("/$", $path_to_file)) $path_to_file = $path_to_file."/"; $location = $path_to_file.$file_name; if (file_exists($path_to_file.$file_name)) $location = $path_to_file.rand(1000,3000).".".$file_name; copy($file,$location); unlink($file); $content .= "Fichier transféré: ".$location."\n"; }}// second file (see manual for instructions on how to add more.)if ($file2_name) { if ($file_size > 0) { if (!ereg("/$", $path_to_file)) $path_to_file = $path_to_file."/"; $location = $path_to_file.$file2_name; if (file_exists($path_to_file.$file2_name)) $location = $path_to_file.rand(1000,3000).".".$file2_name; copy($file2,$location); unlink($file2); $content .= "Fichier transféré: ".$location."\n"; }}// if the env_report option is on: get eviromental variablesif ($env_report) { $env_report = ereg_replace( " +", "", $env_report); $env_reports = split(",",$env_report); $content .= "\n------ eviromental variables ------\n"; for ($i=0;$i<count($env_reports);$i++) { $string = trim($env_reports[$i]); if ($env_reports[$i] == "REMOTE_HOST") $content .= "REMOTE HOST: ".$REMOTE_HOST."\n"; if ($env_reports[$i] == "REMOTE_USER") $content .= "REMOTE USER: ". $REMOTE_USER."\n"; if ($env_reports[$i] == "REMOTE_ADDR") $content .= "REMOTE ADDR: ". $REMOTE_ADDR."\n"; if ($env_reports[$i] == "HTTP_USER_AGENT") $content .= "BROWSER: ". $HTTP_USER_AGENT."\n"; }}// send it offmail_it(stripslashes($content), ($subject)?stripslashes($subject):"Form Submission", $email, $recipient);//if (file_exists($ar_file)) {// $fd = fopen($ar_file, "rb");// $ar_message = fread($fd, filesize($ar_file));// fclose($fd);// mail_it($ar_message, ($ar_subject)?stripslashes($ar_subject):"RE: Form Submission", ($ar_from)?$ar_from:$recipient, $email);//}// if the redirect option is set: redirect themif ($redirect) { header("Location: $redirect"); exit;} else { echo "Merci de votre envoi.\n"; exit;}// <---------- THE END ----------> //
×
×
  • Create New...