SitePoint Sponsor

User Tag List

Results 1 to 15 of 15
  1. #1
    SitePoint Member
    Join Date
    Feb 2006
    Posts
    8
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Help w/ form on site

    I knwo this is probably a routine question, but I tried the search and can't find it there.

    PLease check out this page:

    http://www.krazykevskarkorral.com/Pa...quest_form.htm

    I am doing this for a friend and can't get the form to function. I actually got it to work (just a basic e-mail form in PHP that I downloaded and modified) on another site, but can't get it to work here. Is there an issue with the location of the .php file? THe file is located in the same folder on the site as the page is and I even placed a copy in the home directory in case it was supposed to go in there. WHen you fill the form out, it looks like the page just refreshes and clears out the form.

    If it helps, I can post the contents of the .php file, but considering it works on the other site found here:

    http://www.grindstaffauctionservice.com/test.html

    I figured it was more an issue with the site itself.

    Any help is appreciated. I truly apologize if this was easy to find w/ the search and I just couldn't find it. Hopefully my search skills are better than my .php skills!

    Thanks again for any help!

  2. #2
    SitePoint Zealot logitron's Avatar
    Join Date
    Feb 2006
    Posts
    144
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I went to the first link to the Request Form and couldn't help but to notice this snippet of HTML for the beginning of the form:
    HTML Code:
    <FORM NAME="Order Form" ACTION="" METHOD=POST>
    That 'ACTION' attribute needs to point to your PHP script. Hope that helps!

    ~Patrick Smith~

  3. #3
    SitePoint Member
    Join Date
    Feb 2006
    Posts
    8
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks! This seemed to get the form submitted, but it seems to fall into a black hole somewhere. If I post the .php file, would that help there?

    Thanks!


    Tim

  4. #4
    SitePoint Zealot MystaMax's Avatar
    Join Date
    Apr 2003
    Location
    Atlanta
    Posts
    158
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    sure, lets take a look.

  5. #5
    Wadge! F4nat1c's Avatar
    Join Date
    Oct 2005
    Location
    South Wales, UK
    Posts
    1,134
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    If you have the action attribute as "" like you did below:

    HTML Code:
    <FORM NAME="Order Form" ACTION="" METHOD=POST>
    that basically tells the form to submit into the same page as the form as in. That is why when you were submitting the form, it seemed to be "refreshing", when actually it was submitting, just submitting to the same page as your html form, and thus because your page had no PHP, the form just emptied.

    Change the action attribute to your exact location of the PHP file. Also put double quotes around your method attribute, so it looks something like this below for example:

    HTML Code:
    <form name="Order Form" action="/files/doc/web/somefile.php" method="post">
    It would be nice to see your PHP code too.
    OMFG SitePoint ROXORZ TEH BIG ONE111!
    Wish you were invisible?

  6. #6
    SitePoint Member
    Join Date
    Feb 2006
    Posts
    8
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Here's the code. If there's something that I shouldn't be putting in here, let me know and I'll edit out.

    Thanks!

    This was a free php script that I got from a site


    **edited to remove useless old code that was just taking up space**
    Last edited by padstack; May 16, 2006 at 19:35.

  7. #7
    SitePoint Member
    Join Date
    Feb 2006
    Posts
    8
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Anyone?

  8. #8
    Non-Member jake4974's Avatar
    Join Date
    Jan 2006
    Location
    Down the road, it's where I'll always be
    Posts
    357
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by padstack
    Anyone?
    Wrap the PHP code in "php" tags. In advanced reply mode, there is a little page icon with "php" on it. Just highlight the code and hit that. Or you can do it manually just put [ php ]...code...[ /php ] without the spaces (only there so vb doesn't get confuzzled). That will color code the syntax and put it in smaller scrollable "window", making it much easier to read. I'll have a look through it, but I hope you aren't in a hurry, because unfortunately I'm not.

  9. #9
    SitePoint Evangelist ldivinag's Avatar
    Join Date
    Jan 2005
    Location
    N37 33* W122 3*
    Posts
    414
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    does your ISP have some sort of SMTP on it?

    cause it just uses the MAIL function.
    leo d.

  10. #10
    Non-Member jake4974's Avatar
    Join Date
    Jan 2006
    Location
    Down the road, it's where I'll always be
    Posts
    357
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    ldivinag - yes, my ISP has an SMTP server. So usually does a host.
    padstack - You can check the phpinfo() under "php core" and see what the sendmail path is. It will not be until tomorrow night I can give a thoughtful/considered answer. If as ldiv says it's just using mail() it's weird.

  11. #11
    SitePoint Member
    Join Date
    Feb 2006
    Posts
    8
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thank you. I'll edit the post for the code tomorrow. Take your time. I appreciate any help and recognize that as a beggar, I can't be a chooser!

    Thanks again! I look forward to a response and I'll check on the server part.

  12. #12
    Non-Member jake4974's Avatar
    Join Date
    Jan 2006
    Location
    Down the road, it's where I'll always be
    Posts
    357
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    sorry pad, things went a little haywire this week and I didn't get to look until now. Didn't see anything that stood out as weird in the code, and the form seemed to work fine for me. I guess it got sorted out.

  13. #13
    SitePoint Member
    Join Date
    Feb 2006
    Posts
    8
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    it seems to work, but the e-mail isn't getting sent to padstack@hotmail.com

    am I missing something here?

  14. #14
    SitePoint Member
    Join Date
    Feb 2006
    Posts
    8
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Old problem - note resolved yet

    Hi all. Sorry for bringing up an old thread, but I figured it would be more helpful to do it this way. Here is the PHP code with the PHP tags:

    PHP Code:
    // for ultimate security, use this instead of using the form
    $recipient = "padstack@hotmail.com"; // padstack@hotmail.com

    // bcc emails (separate multiples with commas (,))
    $bcc = "krazykev@hotpop.com";

    // referers.. domains/ips that you will allow forms to
    // reside on.
    $referers = array ('krazykevskarkorral.com','www.krazykevskarkorral.com','67.15.64.81');

    // banned emails, these will be email addresses of people
    // who are blocked from using the script (requested)
    $banlist = array ('*@somedomain.com', 'user@domain.com', 'etc@domains.com');

    // field / value seperator
    define("SEPARATOR", ($separator)?$separator:": ");

    // content newline
    define("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.. Thanks
    function 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("You are using from a <b>banned email address.</b>");
       }
    }

    // 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("You are coming from an <b>unauthorized domain.</b>");
             
    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 steps
    function 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("<b>I NEED VALID RECIPIENT EMAIL ADDRESS ($recipient_to_test) TO CONTINUE</b>");
       }
    }

    // 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 fields
    if ($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 validity


    // check zipcodes for validity
    if (($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("your <b>zip/postal code</b> is invalid");
    }

    // check phone for validity
    if (($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("your <b>phone number</b> is invalid");
    }

    // check phone for validity
    if (($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("your <b>fax number</b> is invalid");
    }

    // sort alphabetic or prepare an order
    if ($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 it 
    if ($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($fpfilesize($attachment));
          
    $attachment_chunk base64_encode($attachment_chunk);
          
    $attachment_chunk chunk_split($attachment_chunk);
       }
    }

    // check for a file if there is a file upload it
    if ($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 .= "Uploaded File: ".$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 .= "Uploaded File: ".$location."\n";
       }
    }

    // if the env_report option is on: get eviromental variables
    if ($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 off
    mail_it(stripslashes($content), ($subject)?stripslashes($subject):"Krazy Kev Inquiry"$email$recipient);
    if (
    file_exists($ar_file)) {
       
    $fd fopen($ar_file"rb");
       
    $ar_message fread($fdfilesize($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 them
    if ($redirect) {
       
    header("Location: $redirect");
       exit;
    } else {
       echo 
    "Thank you for your submission\n";
       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;
    }


    The form seems to go through, but it never makes it to my padstack@Hotmail.com e-mail. Any help is appreciated!

    THanks again! Sorry for bringing up an old thread!

  15. #15
    SitePoint Member
    Join Date
    Feb 2006
    Posts
    8
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    anyone?


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •