1

I'm trying to complete a task. for which i need to print $message(specified below). But its not printing i don't know what seems to be the problem. i thanks for your help in advance... and i don't wanna do this echo $message thing in the html code..and one thing you should know that the values are printing before echo $message. the php variables have values in them before the echo $message, but these same variables print nothing when i echo $message.. it only prints

Customer Name:

Customer Email:

Customer Mobile:

Customer City:

Customer Billing Address:

 <?php
if(isset($_POST['sub'])){
 $name=$_POST['name'];
 $email=$_POST['email'];
 $mobile=$_POST['mobile'];
 $city=$_POST['city'];
 $bill_add=$_POST['message'];
 echo $message="
 <html><head> </head>
 <body>
 Customer Name: <?php echo $name; ?>
 <br>
 Customer Email: <?php echo $email; ?>
 <br>
 Customer Mobile: <?php echo $mobile; ?>
 <br>
 Customer City: <?php echo $city; ?>
 <br>
 Customer Billing Address: <?php echo .$bill_add; ?>
 </body></html>";}
 ?>

HTML file:

 <html>
 <body>
 <form id="contact_form" action="#" method="POST" 
 enctype="multipart/form-data" style=" padding-left: 121px;">
 <div class="row">
 <label for="name" style=" margin-left: 9px;">Your name:</label><br />
 <input id="name" class="input" name="name" type="text" value="" 
 size="30" required/><br />
 </div>
 </br>
 <div class="row">
 <label for="email" style=" margin-left: 9px;">Your email:</label><br 
 />
 <input id="email" class="input" name="email" type="text" value="" 
 size="30" required/><br />
 </div>
 </br>
 <div class="row">
 <label for="email" style=" margin-left: 9px;">Mobile #:</label><br />
 <input id="email" class="input" name="mobile" type="text" value="" 
 size="30" required/><br />
 </div>
 </br>
 <div class="row">
 <label for="email" style=" margin-left: 9px;">City:</label><br />
 <input id="email" class="input" name="city" type="text" value="" 
 size="30" required/><br />
 </div>
 </br>
 <div class="row">
 <label for="message" style=" margin-left: 9px;">Shipping Address: 
 </label><br />
 <textarea id="message" class="input" name="message" rows="7" cols="32" 
 required></textarea><br />
 </div>
 </br>
 <div class="row">
 <input name="sub" id="submit_button" type="submit" value="Order Proceed 
 Now" style="margin-top: 120px;background-color: green;padding:10px; 
 color:#FFF; "/>
 </div>
 </br>
 </form> 
 </body>
 </html>
Bruce
1,6694 gold badges20 silver badges22 bronze badges
asked Jul 28, 2015 at 8:04
6
  • 1
    Why is there a <?php echo $name; ?> into a <?php echo ???? Commented Jul 28, 2015 at 8:07
  • 1
    You got it wrong. First you set $message, then you echo it. Also, no need for reopening PHP tags, you already are in PHP code. Commented Jul 28, 2015 at 8:08
  • As D4V1D said, dont nest <?php ?>, dont assign and echo in same line (why would you??) plus i dont recall php letting you do multi-line without EOL syntax, though i may be mistaken on that (maybe just for certain use cases) Commented Jul 28, 2015 at 8:08
  • yeah thanks..the issue was the php tag..i just got confused... Thanks really:) Commented Jul 28, 2015 at 8:12
  • @DanielB: You can do multi-line echo without EOL syntax. Commented Jul 28, 2015 at 8:15

4 Answers 4

4

change your $message to :

 echo $message="
 <html><head> </head>
 <body>
 Customer Name: $name
 <br>
 Customer Email: $email
 <br>
 Customer Mobile: $mobile
 <br>
 Customer City: $city
 <br>
 Customer Billing Address: $bill_add
 </body></html>";}
 ?>

The problem was that you were using <?php echo into a <?php echo

answered Jul 28, 2015 at 8:08
Sign up to request clarification or add additional context in comments.

Comments

1

Try:

<?php
if(isset($_POST['sub'])){
 $name=$_POST['name'];
 $email=$_POST['email'];
 $mobile=$_POST['mobile'];
 $city=$_POST['city'];
 $bill_add=$_POST['message'];
 echo "
 <html><head> </head>
 <body>
 Customer Name: ".$name."
 <br>
 Customer Email: ".$email."
 <br>
 Customer Mobile: ".$mobile."
 <br>
 Customer City: ".$city."
 <br>
 Customer Billing Address: ".$bill_add."
 </body></html>";}
 ?>
answered Jul 28, 2015 at 8:12

Comments

1

You cant use

so better use it like, Using concatenation in php solves your problem.

<?php 
 echo $message="
 <html><head> </head>
 <body>
 Customer Name: ".$name."
 <br>
 Customer Email: ".$email."
 <br>
 Customer Mobile: ".$mobile."
 <br>
 Customer City: ".$city."
 <br>
 Customer Billing Address: ".$bill_add."
 </body></html>";
 ?>
answered Jul 28, 2015 at 8:13

Comments

1
 <?php echo $message="<html><head> </head><body>Customer Name: " . $name . " <br>Customer Email: " . $email . " <br>Customer Mobile: " . $mobile . " <br>Customer City: " . $city . "<br>Customer Billing Address: " . $bill_add . " </body></html>";?>

// we are using concatenation here ( . ) so we don't need to write and remove spaces.

answered Jul 28, 2015 at 8:24

Comments

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.