PDA

View Full Version : php help



kamoto
07-10-2006, 09:07 PM
I have two forms on my web page that iwould like to add php script to. I am having trouble doing this. Is it advisable to have two forms on one page or do I need to create a new page?


Kelly holidays.com

ez-ez
07-10-2006, 09:26 PM
Kamoto,

You can have as many forms as you like on the one page. You must however pay attention to the following:

Make your form 'action' to point to the correct .php file.
If you want the same .php script to process both forms, you might require some .php scripting skills. If you are a beginner, I would suggest that you use 2 different .php files, each with a unique name.

Many will advice you to incorporate the php script into your landing page, I have a habbit of creating a php script file separte to the landing page.. either way, it should work fine.

Hope this helps

kamoto
07-10-2006, 09:34 PM
Thanks ez-ez
I have two separate php scripts. I do not know where to save them. How do I do that to a web page already published? ( yes I am very much a beginner)

Thanks for any help

ez-ez
07-10-2006, 09:48 PM
The scripts must be uploaded onto the server just like any other page. Obviously, these files will appear in a .php format. For example: after you upload them, your folder can look like this:
form_1.htm
form_2.htm
script_1.php
script_2.php

It is prefered if you have the php scripts in the same folder as your form, in which case, you form action will be : script_file_name.php.. but if you have to upload the scripts on a different folder, make sure that your form action points to them. for example: folder/script_file_name.php.
That way you know that the form will send the data to that location (where the php script is) so it can be processed.
Once published, test the entire process to make sure it's working fine.
The fact that the 'form pages' are already published is irrelevant so long as the 'form' itself points to the script you are about to upload to the server.
Cheers.

ez-ez
07-10-2006, 09:49 PM
Let me clarify one thing:

In your case, because your page contains the two form, after you upload your pages, your folder can look like this example:

form_page.htm
script_1.php
script_2.php

Those are only example names.. your file and script names should appear instead.

davidundalicia
07-10-2006, 09:56 PM
Good advice ez-ez
That should help others that may have wondered.......

ez-ez
07-10-2006, 09:59 PM
Good advice ez-ez
That should help others that may have wondered.......
Thank you sir..

I watch and learn from you guys.. so, many thanks.

kamoto
07-10-2006, 11:03 PM
Where will I find the folder containing the forms? I have searched high and low and cannot find them. I must have lost the plot somewhere

Cheers

ez-ez
07-10-2006, 11:10 PM
Look in the 'public_html' folder on the server.. If you have already published and viewed these forms before, they cant be anywhere else but there.

kamoto
07-10-2006, 11:22 PM
I have looked and there are no forms there,

My web site is www.kellyholidays.com

The forms are okay on the site

Cheers

ez-ez
07-10-2006, 11:37 PM
You have 2 forms on the index page.. Tell a friend and inquiry. Both forms should be on your BV page (index) which you uploaded onto the server.

The index page contains these forms and as you say, they appear to be working fine.

The forms are not separate files... they are only compnents added to the page, in your case, the index page. Think of them as fonts or shapes. So they will not standout as files on the server. The php scripts will standout as they are separtae files with unique names. If you want to modify the forms, you need to do that from within your BV file and then re-upload it onto the server.

davidundalicia
07-10-2006, 11:44 PM
You have 2 forms but no php files have been ftp uploaded
(or action is not set right)

Looking at your website, I would advise you to start creating
different PAGES for the different subjects......

kamoto
07-10-2006, 11:48 PM
Thanks
I will try this in the morning
I appreciate your help guys

Peter

kamoto
07-11-2006, 10:57 AM
I have now got all the scripts in the right place and the enquiry form is working but I get an syntax error for the tell a friend form that there is an unexpected "@" at line 21. I do not know how to resolve this. Below is the php script.

Thanks

<?php
require("class.phpmailer.php");
@$name = addslashes($_POST['name']);
@$friendname = addslashes($_POST['friendname']);
@$email = addslashes($_POST['email']);
@$subject = addslashes($_POST['subject']);
@$message = addslashes($_POST['message']);
@$youremail = addslashes($_POST['youremail']);

$mail = new PHPMailer();
$mail->IsSMTP(); // send via SMTP
$mail->Host = "localhost"; // SMTP servers
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "username"; // SMTP username
$mail->Password = "password"; // SMTP password
$mail->From = ???????@kellyholidays.com; // Your emailin your account
$mail->FromName = "kellyholidays";// The From name you want to appear in the email
$mail->AddAddress($email); //the receiver's email'
$mail->WordWrap = 50; // set word wrap
$mail->Subject = "$subject $name\n";
$mail->Body = "Hi $friendname\n"
. "$message\n "
. " \n"
. " Bye $name\n";
if(!$mail->Send())
{
echo "Message was not sent <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}
header("Location: returnpage.html"); // returnpage is the same page of the form or another of your choice.

Andy128
07-11-2006, 12:15 PM
This;
$mail->From = $info@kellyholidays.com; // Your emailin your account

needs to be;

$mail->From = "info@kellyholidays.com ($info@kellyholidays.com)"; // Your emailin your account

The @ was parsed as it was not in quotes as the script expected it to be.

Also- I am not sure but you may need to put true in quotes also;
$mail->SMTPAuth = "true"; // turn on SMTP authentication


Andy

kamoto
07-11-2006, 03:38 PM
I have changed as suggested and now get the parse error as shown below.




Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting T_VARIABLE or '$' in /home2/kellscom/public_html/tellafriend.php on line 21

Andy128
07-11-2006, 06:58 PM
hadn't noticed before but....

$mail->Subject = "$subject, $name\n";

Usually variables are seperated by a comma as shown above. Try correcting that on your script.

Where did you get this script from?

Andy

kamoto
07-11-2006, 08:03 PM
I have inserted a comma but get the same error.

I downloaded it from the forum. I think it was authored or posted by navman

Andy128
07-11-2006, 08:57 PM
Ok-
Having looked at that download- this;
$mail->From = $info@kellyholidays.com; // Your emailin your account

Should be;
$mail->From = $youremail; // Your emailin your account

where $yourmail refers to the variable $yourmail from your form. Leave it exactly as it is- do not change $yourmail

You will not need to put- true in " " as I had thought earlier and per Naval's script- do not seperate the variables $subject $name with a comma.

Hope that helps

Andy

navaldesign
07-11-2006, 09:53 PM
Correct, $youremail must remain as is. And please don't change the code, it will not work. Also change the hidden field of the message, you surely do not want the messahe sent to be: "I found this site very interesting. To visit it, click on www.navaldesign.info (http://www.navaldesign.info) "

kamoto
07-11-2006, 10:35 PM
Thanks
Naval what should I change in the class.phpmailer.php. I'm on a steep learning curve here but enjoying. Thanks for the help.

Peter

kamoto
07-11-2006, 11:54 PM
Okay, I am getting there. When I submit the form the message is sent no problem but I get this error message even though it all seems okay:

Not Found

The requested URL /returnpage.html was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

Andy128
07-12-2006, 12:49 AM
I have looked at your site- and I cannot find the 'returnpage.html'

Make sure that you have published it to the server and that the name you called it matches that in the script.

Andy

navaldesign
07-12-2006, 05:35 AM
"returnpage.html" is an example title of the page you want the visitor to be redirected after the submission. You have to change it to whatever page name you wish, f.e. your home page, or a thankyou page that you can create and publish.

I also allowed myself to delete your email and password and username from the script.

kamoto
07-12-2006, 08:38 PM
All done and working fine.
Thanks to everyone for helping. It is great to know that there is a community that is helpful to the extent you all are.
Thankyou.

Kamoto