DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/)
-   PHP (http://www.daniweb.com/forums/forum17.html)
-   -   Dreamweaver php form validation and redirect (http://www.daniweb.com/forums/thread98806.html)

Taffd Nov 28th, 2007 3:31 pm
Dreamweaver php form validation and redirect
 
I post this solution to a form validation and redirect as an addition to a comment page written with dreamweaver. Unfortunately Dreamweaver does not provide server-side validation for php. You're expected to purchase an extension.
My problem
I have a comments page with a comment form. I wanted the comment input to a database if ok but if a user tried to input code or a link, I wanted to redirect them back to the form page without their comment input to the database. I also needed to work out where in the Dreamweaver written code to place my validation and redirect.

Here it is, I hope it helps somebody else.

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "comments"))
 {
 
 $comment = htmlentities($_POST['comment']);
 
function check_field1($comment)
{
if (preg_match("/</", $comment))
{
return TRUE;
}
}
$error=0;
if(check_field1($comment))
{
 
  $error++;
  $insertGoTo = "comments.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo)); // $error=$error+1;
}

if($error == 0)
  $insertSQL = sprintf("INSERT INTO comments (comment, `day`, `month`, `year`) VALUES (%s, %s, %s, %s)",
                      GetSQLValueString($_POST['comment'], "text"),
                      GetSQLValueString($_POST['day'], "int"),
                      GetSQLValueString($_POST['month'], "text"),
                      GetSQLValueString($_POST['year'], "int"));

  mysql_select_db($database_connection, $connection);
  $Result1 = mysql_query($insertSQL, $connection) or die(mysql_error());

  $insertGoTo = "comments.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
  }

Designer_101 Nov 28th, 2007 3:41 pm
Re: Dreamweaver php form validation and redirect
 
hi
Is this echoing out properly, or do you just need help with the javascript validation ?

Taffd Nov 28th, 2007 3:59 pm
Re: Dreamweaver php form validation and redirect
 
Quote:

Originally Posted by Designer_101 (Post 480336)
hi
Is this echoing out properly, or do you just need help with the javascript validation ?



Hi Designer,
I'm not actually asking for help here, I've posted this as a solution to the problem I posed here and in other posts. The above code works successfully. I could extend it with error messages and reproduction of the original comment to be edited but I decided to put a warning on the comments page not to post links or code, or the comment would be deleted.

Re javascript, I already have js client-side validation with error messages. Thank you anyway for your interest in this thread.

Taffd

judiglidden Dec 18th, 2007 5:24 pm
Re: Dreamweaver php form validation and redirect
 
I am not sure if I am having a simoilar problem or it just sounds smilir to a new bie. I have acreated a form, www.lifespringnaz.com/form/lifegroup.html
I have redirected it to a "thank you " at www.lifespringnaz.com/form/confirm.html. Yet, I do not get the confirmation page and I can't figure it out. Also, In Explorer, when i hit th e the submit button I get a message "am I sure I want to send this from my email address"? and it changes the subject line. Is this something that can be eliminated? Thanks!

nav33n Dec 18th, 2007 11:24 pm
Re: Dreamweaver php form validation and redirect
 
Yep.. Can you show us the code ?

vssp Dec 19th, 2007 1:50 am
Re: Dreamweaver php form validation and redirect
 
i have also need the solution

nav33n Dec 19th, 2007 2:00 am
Re: Dreamweaver php form validation and redirect
 
What is the problem actually ? Because the OP wasn't asking for any help !
Quote:

Hi Designer,
I'm not actually asking for help here, I've posted this as a solution to the problem I posed here and in other posts. The above code works successfully.

judiglidden Dec 19th, 2007 8:31 am
Re: Dreamweaver php form validation and redirect
 
Quote:

Originally Posted by nav33n (Post 494236)
What is the problem actually ? Because the OP wasn't asking for any help !


I am not sure if you are replying to my post or another.
There are two problems:
Problem 1:
I have created a form, you can view it at: www.lifespringnaz.com/form/lifegroup.html
I want to redirected it to a "thank you " at www.lifespringnaz.com/form/confirm.html.
What code would I use here? And where do I put it?

Problem 2:
When filling out the form in Explorer, after I hit the the submit button I get a message "am I sure I want to send this from my email address"? ...it brings up the person’s email application and creates a message then you hit send. Is that going to work with everyone’s email apps? What if they just used web-based email?
I would like to eliminate those extra boxes, is there a way to have it generate that email il message internally without having the additional step of launching the email application.
Most forms I submit online like that don’t have the additional step/s after hitting submit. Lastly when the information is forwarded to me (the recipient), it seems to change the “subject” from Lifespring Report Form to “emailing . . “ So I want to eliminate the extra steps here and the changing of the subject line.

Thanks, Judi

nav33n Dec 19th, 2007 8:40 am
Re: Dreamweaver php form validation and redirect
 
Quote:

Originally Posted by judiglidden (Post 494382)
I am not sure if you are replying to my post or another.
There are two problems:
Problem 1:
I have created a form, you can view it at: www.lifespringnaz.com/form/lifegroup.html
I want to redirected it to a "thank you " at www.lifespringnaz.com/form/confirm.html.
What code would I use here? And where do I put it?


By using a header function. Your page should be a php page and not html. I mean, www.lifespringnaz.com/form/lifegroup.html should be www.lifespringnaz.com/form/lifegroup.php to use the php functions. Or you can configure apache so that it parses html files using a php parser(which is lil complicated for time being). After doing whatever you wanna do with the posted form values, use this. header("location: www.lifespringnaz.com/form/confirm.html"); This will redirect the user to "Thank you" page.

Quote:

Problem 2:
When filling out the form in Explorer, after I hit the the submit button I get a message "am I sure I want to send this from my email address"? ...it brings up the person’s email application and creates a message then you hit send. Is that going to work with everyone’s email apps? What if they just used web-based email?
I would like to eliminate those extra boxes, is there a way to have it generate that email il message internally without having the additional step of launching the email application.
Most forms I submit online like that don’t have the additional step/s after hitting submit.

This has something to do with the way you have written your script. You are probably having a javascript alert to confirm the sending of email. I don't know about person's email application. We need to look at the code to know what you are talking about.

Quote:

Lastly when the information is forwarded to me (the recipient), it seems to change the “subject” from Lifespring Report Form to “emailing . . “ So I want to eliminate the extra steps here and the changing of the subject line.

Thanks, Judi


You can use the mail function provided by php. AFAIK, php doesn't change any subject line! Again, you should show us your script to understand the problem.

Cheers,
Nav


All times are GMT -4. The time now is 12:56 pm.

Forum system based on vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
©2003 - 2008 DaniWeb® LLC