Solved

Help with PHP form

Posted on 2010-11-09
12
365 Views
Last Modified: 2013-12-12
Hey guys any reason why the "sport" and "shoe" fields arent returning any results
<?php



/************************

* Variables you can change

*************************/



$mailto   = "leroice@mac.com"; // Enter your mail addres here. 

$name     = ucwords($_POST['name']); 



$email    = $_POST['email'];



$sport    = $_POST['sport'];



$shoe    = $_POST['shoe'];



$message  = $_POST['message'];



	if(strlen($_POST['name']) < 1 ){

		echo  'email_error';

	}

	

  else if(strlen($email) < 1 ) {

		echo 'email_error';

	}



  else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", $email)) {

    echo 'email_error';

  }



	else if(strlen($message) < 1 ){

		echo 'email_error';



  } else {



	// NOW SEND THE ENQUIRY



	$email_message="\n\n" .

		"Name: " .

		ucwords($name) .

		"\n" .

		"Email: " .

		$email .

		"\n" .

		"Preffered Sport: " .

		$sport .

		"\n" .

		"Shoe Size: " .

		$shoe .

		"\n" .

		"Comments: " .

		"\n" .

		$message .

		"\n" .

		"\n\n" ;



		$email_message = trim(stripslashes($email_message));

		mail($mailto, $shoe, $email_message, "From: \"$vname\" <".$email.">\nReply-To: \"".ucwords($name)."\" <".$email.">\nX-Mailer: PHP/" . phpversion() );



}

?>

Open in new window

0
Comment
Question by:Leroice
  • 3
  • 2
  • 2
  • +4
12 Comments
 
LVL 5

Expert Comment

by:ploftin
ID: 34095267
You didn't include the underlying form that posts to this page, but I would suspect a problem in the form.  Verify that the fields for sport and shoe are named appropriately.  Ie.
Sport: <input type="text" name="sport" /><br />

Shoe: <input type="text" name="shoe" />

Open in new window

0
 

Author Comment

by:Leroice
ID: 34095425
Here's the markup for the form
<!-- Contact Form Start //-->

                                      <form action="#" id="contactform"> 

                                      <fieldset>

                                      <label>Name*</label>

                                      <input type="text" name="name" class="textfield" id="name" value="Please enter both given and surnames" />

                                      <div class="clear"></div>

                                      <label>E-mail*</label>

                                      <input type="text" name="email" class="textfield" id="email" value="Please enter a valid email address" />

                                      <div class="clear"></div> 

                                      <label>Prefered Sport*</label>

                                      <input type="text" name="subject" class="textfield" id="sport" value="Enter your Favourite Sport here" />

                                      <div class="clear"></div> 

                                      <label>Shoe Size*</label>

                                      <input type="text" name="subject" class="textfield" id="shoe" value="Please indicate Men's or Women's sizing" />

                                      <div class="clear"></div>    

                                      <label>Message*</label>

                                      <textarea name="message" id="message" class="textarea" cols="2" rows="7" </textarea>

                                      <div class="clear"></div> 

                                                                      <input type="submit" name="submit" class="buttoncontact" id="buttonsend" value="Send" />

                                      <span class="loading" style="display: none;">Please wait..</span>

                                      <div class="clear"></div>

                                      <label>&nbsp;</label>

                                      *required field

                                      <div class="clear"></div>

                                      </fieldset> 

                                      </form>

                                      <!-- Contact Form End //--> 

Open in new window

0
 
LVL 5

Accepted Solution

by:
ploftin earned 500 total points
ID: 34095586
That's your problem.  Your shoe and sport fields need to be "named" shoe and sport.  For example, change your form to this:
<!-- Contact Form Start //-->

<form action="#" id="contactform"> 

<fieldset>

<label>Name*</label>

<input type="text" name="name" class="textfield" id="name" value="Please enter both given and surnames" />

<div class="clear"></div>

<label>E-mail*</label>

<input type="text" name="email" class="textfield" id="email" value="Please enter a valid email address" />

<div class="clear"></div> 

<label>Prefered Sport*</label>

<input type="text" name="sport" class="textfield" id="sport" value="Enter your Favourite Sport here" />

<div class="clear"></div> 

<label>Shoe Size*</label>

<input type="text" name="shoe" class="textfield" id="shoe" value="Please indicate Men's or Women's sizing" />

<div class="clear"></div>    

<label>Message*</label>

<textarea name="message" id="message" class="textarea" cols="2" rows="7" </textarea>

<div class="clear"></div> 

                                <input type="submit" name="submit" class="buttoncontact" id="buttonsend" value="Send" />

<span class="loading" style="display: none;">Please wait..</span>

<div class="clear"></div>

<label>&nbsp;</label>

*required field

<div class="clear"></div>

</fieldset> 

</form>

<!-- Contact Form End //--> 

Open in new window

0
 
LVL 20

Expert Comment

by:Mark Brady
ID: 34099829
You named both the sports and the shoe fields "subject" that's why nothing is posted for those two fields.
0
 
LVL 1

Expert Comment

by:djshah
ID: 34103826
+++++
<input type="text" name="subject" class="textfield" id="sport" value="Enter your Favourite Sport here" />
                                      <div class="clear"></div>
                                      <label>Shoe Size*</label>
                                      <input type="text" name="subject" class="textfield" id="shoe" value="Please indicate Men's or Women's sizing" />
                                      <div class="clear"></div>  
+++++

Just change above code with following code:

++++
<input type="text" name="sport" class="textfield" id="sport" value="Enter your Favourite Sport here" />
                                      <div class="clear"></div>
                                      <label>Shoe Size*</label>
                                      <input type="text" name="shoe" class="textfield" id="shoe" value="Please indicate Men's or Women's sizing" />
                                      <div class="clear"></div>  
++++

It should then work. You have given name="subject" for both id="sport" and id="shoe". When form is submitted in php _POST array is build on name attribute. If name is not properly given then it will not be there in _POST array.
0
Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

 
LVL 20

Expert Comment

by:Mark Brady
ID: 34125023
Any reply from the asker?
0
 
LVL 20

Expert Comment

by:Mark Brady
ID: 34128644
Hey Leroice:     Did you change your form to what we said and try it? Please let us know so we can all move on and get this question PAQ'ed

Cheers
Elvin
0
 

Author Comment

by:Leroice
ID: 34129334
Sorry guys haven't been online for past few days. Will have a try and let you know soon.

Thanks again for the help. It is much appreciated
0
 
LVL 13

Expert Comment

by:p_nuts
ID: 34214845
I think the rest helped you with this one.. but a general tip..

use

print_r($_REQUEST);

to see all submitted variables to test....
0
 

Expert Comment

by:sridharphp
ID: 34514026
try to write like this
if(isset($_post['submit']))
{
$comapny_name=$_POST['company_name'];//like this all  fields create
$sql="insert into tbl_users (company_name, first_name, last_name, business_street_address, business_suburb_city, business_postcode, email, phone, mobile, industry_id , username,password) values('$company_name', '$first_name', '$last_name', '$business_street_address', '$business_suburb_city', '$business_postcode', '$email', '$phone', '$mobile', '$industry', '$username','$password')";
mysql_query($sql);
header('location:samepage.php')
exit;
0
 
LVL 16

Expert Comment

by:CWS (haripriya)
ID: 35390505
This question has been classified as abandoned and is being closed as part of the Cleanup Program. See my comment at the end of the question for more details.
0

Featured Post

Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

Join & Write a Comment

Foreword (July, 2015) Since I first wrote this article, years ago, a great many more people have begun using the internet.  They are coming online from every part of the globe, learning, reading, shopping and spending money at an ever-increasing ra…
Developers of all skill levels should learn to use current best practices when developing websites. However many developers, new and old, fall into the trap of using deprecated features because this is what so many tutorials and books tell them to u…
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
The viewer will learn how to dynamically set the form action using jQuery.

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now