edit profile

amanapart

Registered
Здравейте
имам следния код

Код:
if ( (isset($_GET['id'])) && (is_numeric($_GET['id'])) ) { 
	$id = $_GET['id'];
} elseif ( (isset($_POST['id'])) && (is_numeric($_POST['id'])) ) {
	$id = $_POST['id'];
} else { // No valid ID, kill the script.
	echo '<p class="error">Thisss page has been accessed in error.</p>';
	
}




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

	$errors = array();
	
	
	if (empty($_POST['real_name'])) {
		$errors[] = 'You forgot to enter your first name.';
	} else {
		$fn = mysqli_real_escape_string($dbc, trim($_POST['real_name']));
	}
	
	
	if (empty($_POST['last_name'])) {
		$errors[] = 'You forgot to enter your last name.';
	} else {
		$ln = mysqli_real_escape_string($dbc, trim($_POST['last_name']));
	}
	
	
	if (empty($_POST['email'])) {
		$errors[] = 'You forgot to enter your email address.';
	} else {
		$e = mysqli_real_escape_string($dbc, trim($_POST['email']));
	}
	
	if (empty($errors)) { 
	
		
		$q = "SELECT `user_id` FROM `users` WHERE `email`='$e' AND `user_id` != '$id'";
		$r = @mysqli_query($dbc, $q);
		if (mysqli_num_rows($r) == 0) {

			
			$q = "UPDATE users SET first_name='$fn', last_name='$ln', email='$e' WHERE user_id=$id LIMIT 1";
			$r = @mysqli_query ($dbc, $q);
			if (mysqli_affected_rows($dbc) == 1) { 

				echo '<p>The user has been edited.</p>';	
							
			} else { 
				echo '<p class="error">The user could not be edited due to a system error. We apologize for any inconvenience.</p>'; 

				echo '<p>' . mysqli_error($dbc) . '<br />Query: ' . $q . '</p>'; 
			}
				
		} else { 
			echo '<p class="error">The email address has already been registered.</p>';
		}
		
	} else { 
	
		echo '<p class="error">The following error(s) occurred:<br />';
		foreach ($errors as $msg) { 
			echo " - $msg<br />\n";
		}
		echo '</p><p>Please try again.</p>';
		
	} 

} 




$q = "SELECT `real_name`, `last_name`, `email` FROM `users` WHERE `user_id`='$id'";		
$r = @mysqli_query ($dbc, $q);

if (mysqli_num_rows($r) == 1) {

	$row = mysqli_fetch_array ($r, MYSQLI_NUM);
	
	
	echo '<form action="chabgeprof.php" method="post">
<p>First Name: <input type="text" name="real_name" size="15" maxlength="15" value="' . $row[0] . '" /></p>
<p>Last Name: <input type="text" name="last_name" size="15" maxlength="30" value="' . $row[1] . '" /></p>
<p>Email Address: <input type="text" name="email" size="20" maxlength="40" value="' . $row[2] . '"  /> </p>
<p><input type="submit" name="submit" value="Submit" /></p>
<input type="hidden" name="submitted" value="TRUE" />
<input type="hidden" name="id" value="' . $id . '" />
</form>';

} else { 
	echo '<p class="error">This page has been accessed in error.</p>';
}

mysqli_close($dbc);
?>

Когато дам да ми отвори страницата ми дава тези грешки "Thisss page has been accessed in error.

This page has been accessed in error." ... :/ как трябва да се оправи
 
Нямаш потребител с това ID, съответно не минава проверката и дава else условието.
 
не ти е сетната променливата id, не може да се изпълни нито първото, нито второто условие и ти връща грешка
 

Back
Горе