Jump to content

[SOLVED] Passkey not found?


mikebyrne

Recommended Posts

I want this code to show an error if the passkey is not found, but at present if the passkey doesn't exist it just show a blank screen

 

<?php
include('config.php');

$passkey=$_GET['passkey'];

// Passkey that got from link
## added here
if (!isset($_GET['passkey']))

{
echo "Error here :: PASSKEY NOT FOUND ";
}
else
{

## table name
$tbl_name="temp_users";
$tbl_name2="users";

// after connecting succesfully: 
$sql1 = "SELECT * FROM $tbl_name WHERE confirm_code ='$passkey'";
$result = mysql_query($sql1) or die(mysql_error());

// while there is a result, fetch it into an array... 

while ($row = mysql_fetch_array($result))
{
$sql2="INSERT INTO $tbl_name2(name, address, address1, address2, address3, address4, county, zip, telephone, email, username, password, user)VALUES('".$row['name'] . "', '".$row['address'] . "', '".$row['address1'] . "', '".$row['address2'] . "', '".$row['address3'] . "', '".$row['address4'] . "', '".$row['county'] . "', '".$row['zip'] . "', '".$row['telephone'] . "', '".$row['email'] . "', '".$row['username'] . "', '".$row['password'] . "', 1)";
$result2=mysql_query($sql2)or die(mysql_error());
echo "Your account has been activated";
$sql3="DELETE FROM $tbl_name WHERE confirm_code = '$passkey'";
$result3=mysql_query($sql3)or die(mysql_error());
} 
}
?> 

 

 

Link to comment
Share on other sites

<?php
include('config.php');

//Cleanup
#$passkey=$_GET['passkey'];
$passkey = mysql_escape_string($_GET['passkey']);

// Passkey that got from link
## added here
if (!isset($_GET['passkey']))
{
echo "Error here :: PASSKEY NOT ENTERED";
}else{
## table name
$tbl_name="temp_users";
$tbl_name2="users";

// after connecting succesfully: 
$sql1 = "SELECT * FROM $tbl_name WHERE confirm_code ='$passkey'";
$result = mysql_query($sql1) or die(mysql_error());
$found = mysql_num_rows( $result);
if($found > 0)
{
	// while there is a result, fetch it into an array... 
	while ($row = mysql_fetch_array($result))
	{
		$sql2="INSERT INTO $tbl_name2(name, address, address1, address2, address3, address4, county, zip, telephone, email, username, password, user)VALUES('".$row['name'] . "', '".$row['address'] . "', '".$row['address1'] . "', '".$row['address2'] . "', '".$row['address3'] . "', '".$row['address4'] . "', '".$row['county'] . "', '".$row['zip'] . "', '".$row['telephone'] . "', '".$row['email'] . "', '".$row['username'] . "', '".$row['password'] . "', 1)";
		$result2=mysql_query($sql2)or die(mysql_error());
		echo "Your account has been activated";
		$sql3="DELETE FROM $tbl_name WHERE confirm_code = '$passkey'";
		$result3=mysql_query($sql3)or die(mysql_error());
	}
}else{
	echo "Error here :: PASSKEY NOT FOUND ";
}
}
?>

Link to comment
Share on other sites

Could you explain what these lines do?

 

$passkey = mysql_escape_string($_GET['passkey']);

Okay.. this is to stop SQL Injection..

 

 

AND

 

while ($row = mysql_fetch_array($result))

this sets $row to the array of the next record, if their a no more records it returns false (which ends the loop)

 

so if you had 5 records you could do this

$row1 = mysql_fetch_array($result);
$row2 = mysql_fetch_array($result);
$row3 = mysql_fetch_array($result);
$row4 = mysql_fetch_array($result);
$row5 = mysql_fetch_array($result);

 

but

while ($row = mysql_fetch_array($result))

is better as you don't need to know the number of records

 

hope that helps

 

NB: records = rows

Link to comment
Share on other sites

if the URL does NOT contains

passkey=

then that code will be triggered

 

a have reviewed you code and tweaked it a little, (didn't really read it first time, i see so much code everyday lol)

 

<?php
include('config.php');

// Passkey that got from link
## added here
if (!isset($_GET['passkey']))
{
echo "Error here :: Validation Failed";
}else{
//Cleanup
$passkey = mysql_escape_string($_GET['passkey']);

## table name
$tbl_name="temp_users";
$tbl_name2="users";

// after connecting succesfully: 
$sql1 = "SELECT * FROM $tbl_name WHERE confirm_code ='$passkey'";
$result = mysql_query($sql1) or die(mysql_error());
$found = mysql_num_rows( $result);
if($found > 0)
{
	//Don't need loop as only 1 record is valid per passkey
	$row = mysql_fetch_array($result);
	$sql2="INSERT INTO $tbl_name2(name, address, address1, address2, address3, address4, county, zip, telephone, email, username, password, user)VALUES('".$row['name'] . "', '".$row['address'] . "', '".$row['address1'] . "', '".$row['address2'] . "', '".$row['address3'] . "', '".$row['address4'] . "', '".$row['county'] . "', '".$row['zip'] . "', '".$row['telephone'] . "', '".$row['email'] . "', '".$row['username'] . "', '".$row['password'] . "', 1)";
	$result2=mysql_query($sql2)or die(mysql_error());
	echo "Your account has been activated";
	$sql3="DELETE FROM $tbl_name WHERE confirm_code = '$passkey'";
	$result3=mysql_query($sql3)or die(mysql_error());
}else{
	echo "Error here :: PASSKEY NOT FOUND ";
}
}
?>

Link to comment
Share on other sites

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.