Jump to content

Recommended Posts

Please help me out a bit. It should be an easy question seeing as I am new to php. I am working on a new login form for people to create accounts. I want to have the form and the actual php query code on the same page. Here is my code...

 

<?php

//Check for required fields from signup form
if ($sending == "yes"){
if ((!isset($_POST["f_name"])) || (!isset($_POST["l_name"])) || (!isset($_POST["email"])) || (!isset($_POST["username"])) || (!isset($_POST["password1"]))  ) {
$login_message = "You must fill out all the fields.";
exit;
}

if ( ($_POST["password1"]) !== ($_POST["password2"])  ){
$login_message = "Passowords don't match!";
exit;
}

mysql_connect("myserver", "login", "pass");
mysql_select_db("db");

$sql = "INSERT INTO accounts (`id` , `f_name` , `l_name` , `email` , `username` , `password` ) 
VALUES ('' , '".$_POST["f_name"]."' , '".$_POST["l_name"]."' , '".$_POST["email"]."' , '".$_POST["username"]."' , 
PASSWORD('".$_POST["password1"]."')   );";
$result = mysql_query($sql) or die (mysql_error());

$login_message = "Thank you for making an account. Your account information is as follows. <br />
Name: '".$_POST["f_name"]."' '".$_POST["l_name"]."'<br />
Email: '".$_POST["email"]."' <br />
Username: '".$_POST["username"]."'<br />
Password: '".$_POST["password1"]."'<br />";

} else {
exit;
}
?>

<?php echo "$login_message" ?>

<form action="<?=$PHP_SELF?>" method="post" name="signup">
<p>First Name:<br />
<input name="f_name" type="text" maxlength="20" /></p>

<p>Last Name:<br />
<input name="l_name" type="text" maxlength="20" /></p>

<p>Email:<br />
<input name="email" type="text" maxlength="150" /></p>

<p>Username:<br />
<input name="username" type="text" maxlength="20" /></p>

<p>Password:<br />
<input name="password1" type="password" size="20" /></p>

<p>Retype Password:<br />
<input name="password2" type="password" size="20" />
</p>

<input name="sending" type="hidden" value="yes">


<input value="Create Account" type="submit" />
</form>

 

As you can see, right away the php code shouldn't start to run because of the if statement

if ($sending == "yes"){

And sending won't equal "yes" until they create an account where there is a hidden input with a value of "yes". Then the code should run through again and see that Sending = "yes".

 

Well that's not the case for some reason. Right away it seems to disregard the first if statement and just go right on down and send a blank query. Please feel free to test it out and see if you can help me out at all. Thanks for any help!

 

If I enter in the info and send it off it goes in fine. I just need to stop it from sending the blank query.

 

P.S. Like I said before I am new to php so please explain it like you would if you were talking to a monkey.  ;D ;D ;D

Link to comment
https://forums.phpfreaks.com/topic/90594-every-refresh-sends-a-blank-query/
Share on other sites

First, change your form to this

 

<form action="<?=$PHP_SELF?>" method="post" name="signup">
<p>First Name:<br />
<input name="f_name" type="text" maxlength="20" /></p>

<p>Last Name:<br />
<input name="l_name" type="text" maxlength="20" /></p>

<p>Email:<br />
<input name="email" type="text" maxlength="150" /></p>

<p>Username:<br />
<input name="username" type="text" maxlength="20" /></p>

<p>Password:<br />
<input name="password1" type="password" size="20" /></p>

<p>Retype Password:<br />
<input name="password2" type="password" size="20" />
</p>

<input value="Create Account" type="submit" name="submit"/>
</form>

 

I took out the hidden input named "sending" and gave the submit button a name.

 

Now change this line

if ($sending == "yes"){

To

if (isset($_POST['submit'])){

 

Then you should be set :)

Thank you for the reply! Although that doesn’t seem to help :-\. I made the changes as you said but it didn't work. I am including this file into another main page and when I try to load the main page it seems to stop loading the page once it gets to the included login form. It seems weird but that’s what it does. Everything beneath the spot where the login form just stops getting loaded. I have NO idea why this would be!

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.