954,585 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

preview option before form submission

i want to provide an option to user to preview the form input before form submission, it runs well, but it does the same action on pressing submission or preview button

html <form>
<tr>
<td width="26%" height="30" align="right"><font face="Calibri">Category:</font></td>
<input type="text" name="category" size="30"></td>

<td width="26%" height="30" align="right"><font face="Calibri">City:</font></td>
<input type="text" name="city" size="30"></td>

<td width="26%" height="30" align="right"><font face="Calibri">Ad Title:</font></td>
<input type="text" name="adTitle" size="30"></td>

</tr>
</table>

<p align="center">
<input name="put" type="submit" value="Submit" onclick="action='postAd.php?action=submit';">
<input name="put" type="submit" value="Preview" onclick="action='postAd.php?action=preview';">
</p>
</form>

the php script is as follow if(isset($_POST['put'])) {

$category = $_POST['category'];
$city = $_POST['city'];
$adTitle = $_POST['adTitle'];

$action = $_POST['action'];
if ($action = 'preview')
{

echo $category;
echo $city;
echo $adTitle;
}

if ($action = 'submit')
{
if (!get_magic_quotes_gpc()) {

$category = addslashes($category);
$city = addslashes($city);
$adTitle = addslashes($adTitle);
}
$sql = "INSERT INTO `class-ads`.`post-ad` (ad_id, cat_name, city_name, ad_title, )
VALUES (NULL,'$category', '$city', '$adTitle')";

mysql_query($sql) or die('Error, Posting Ad failed : ' . mysql_error());
echo "You successfully posted the advertisment";
}
}

when i press submit it enters all data to database, but the same thing happens after pressing preview button as well.
i have tried every option, i know but in vain..i am not understanding where i am doing wrong. please some one guide me in this regard.

thanks in advance

shuja

servis
Junior Poster in Training
82 posts since May 2008
Reputation Points: 10
Solved Threads: 0
 

Use $action == 'preview' and $action=='submit' .
Also, mention Form's 'method'. If you don't mention it, I guess, the default method is GET.

nav33n
Purple hazed!
Moderator
4,465 posts since Nov 2007
Reputation Points: 524
Solved Threads: 356
 

If I may try my hand at this :D:

-Add the

method = "post"


to your form tag.

-Change

$action = $_POST['action'];


to

$action = $_GET['action'];
jeffc418
Junior Poster in Training
64 posts since Aug 2007
Reputation Points: 10
Solved Threads: 0
 

i am using POST method..
nav33n, when i use $action == 'preview' and $action=='submit', it does nothing with no error.

however, i just tried GET method, which is running fine.

But i wana use POST method....

servis
Junior Poster in Training
82 posts since May 2008
Reputation Points: 10
Solved Threads: 0
 

According to your code, you are not using the POST method. To use that methhod' the code must read:

Otherwise it defaults to get.

Cheers!

Via BlackBerry

jeffc418
Junior Poster in Training
64 posts since Aug 2007
Reputation Points: 10
Solved Threads: 0
 

Maybe this example will help you understand better.

<?php
if(isset($_POST['preview'])) {
	print "<pre>";
	print "Preview button pressed..";
	print_r($_REQUEST);
	print "</pre>";
}
if(isset($_POST['submit'])) {
	print "<pre>";
	print "Submit button pressed..";
	print_r($_REQUEST);
	print "</pre>";
}
?>
<form method='POST' action='postAd.php'>
<tr>
    <td width="26%" height="30" align="right"><font face="Calibri">Category:</font></td>
 	<input type="text" name="category" size="30"></td>
 
    <td width="26%" height="30" align="right"><font face="Calibri">City:</font></td>
 	<input type="text" name="city" size="30"></td>
    
	<td width="26%" height="30" align="right"><font face="Calibri">Ad Title:</font></td>
 	<input type="text" name="adTitle" size="30"></td>
 
 </tr>
</table>

<p align="center">
<input name="submit" type="submit" value="Submit""> 
<input name="preview" type="submit" value="Preview"">
</p>
</form>

I have named the buttons differently. I also don't need onclick events.

nav33n
Purple hazed!
Moderator
4,465 posts since Nov 2007
Reputation Points: 524
Solved Threads: 356
 

thanks for your valueable solutions...
please can you suggest me any tutorial for fruther and advance guidance in this regards...

shuja

servis
Junior Poster in Training
82 posts since May 2008
Reputation Points: 10
Solved Threads: 0
 

You can start with w3schools for basics. w3schools cover most of the things you need to know. For more information, you can check php.net .

P.S. In my earlier example, there is an extra " for input type=submit.

nav33n
Purple hazed!
Moderator
4,465 posts since Nov 2007
Reputation Points: 524
Solved Threads: 356
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You