Results 1 to 3 of 3

Thread: Calling Items from Same Row In Database

  1. #1
    Join Date
    Feb 2008
    Posts
    90
    Thanks
    3
    Thanked 2 Times in 2 Posts

    Default Calling Items from Same Row In Database

    I am making an account management page. Once the user logins to my site they have the option of viewing an account management page. On this page they will see their account username, their real name, there email address, and also have the ability to be able to delete there account entirely.
    Any help is appreciated.
    Thanks.
    Last edited by SChaput; 10-28-2008 at 07:15 PM.

  2. #2
    Join Date
    Apr 2008
    Location
    Limoges, France
    Posts
    395
    Thanks
    13
    Thanked 61 Times in 61 Posts

    Default

    The code below should get you started. I have deleted some of the text or translated it as the text displayed to the user was in French.

    Everything lives inside a html <div>. Mine has the id of "content" in this case.

    I use a MySQL database and MYSQL is defined as the connection in a required file (see beginning of the code) You could also replace that line with the connection information and mysql_connect().

    You'll have to change the database queries to suit your needs, but what is here should point you in the right direction. Try to get it working. You'll learn a lot!

    I'm no expert, so if anyone has any criticisms about my code, please tell me. I still have A LOT to learn and would love some feedback.

    Good luck!

    Code:
    <div id="content">
    
    <?php
    
    require_once(MYSQL); // db connection
    
    if ( isset($_POST['update_u']) ) {
    
    	//Required Fields
    
    	$errors = array();
    
    	if ( preg_match('/^[^0-9]{2,30}$/i', $_POST['first_name']) ) {
    	
    		$first_name = mysql_prep(ucwords(trim(substr($_POST['first_name'],0,30))));
    	
    	} else {
    	
    		$errors[] = '<p class="error"></p>';
    	
    	}
    	
    	if ( preg_match('/^[^0-9]{2,30}$/i', $_POST['last_name']) ) {
    	
    		$last_name = mysql_prep(ucwords(trim(substr($_POST['last_name'],0,30))));
    	
    	} else {
    	
    		$errors[] = '<p class="error"></p>';
    	
    	}
    	
    	if ( empty($errors) ) {
    		
    		$q = "UPDATE `user_info`
    			SET `first_name` = '$first_name',
    			`last_name` = '$last_name'
    			WHERE `user_info`.`u_id` = {$_SESSION['U_ID']} LIMIT 1 ";
    	
    		$r = mysql_query($q);
    		
    		if ($r) {
    			
    			echo "<p></p>";
    		
    		} else {
    		
    			echo "<p class=\"error\"></p>";
    		
    		}
    	
    	} else {
    	// Errors
    	
    		foreach ($errors as $msg) {
    		
    			echo '<p class="error">' . "$msg" . '</p>';
    		
    		}
    	
    	}
    	
    } elseif ( isset($_POST['update_p']) ) { // -------------------- password update branch -----------------------
    	//Required Fields
    
    	$errors = array();
    
    	if ( preg_match('/^\w{6,20}$/', $_POST['new_pass']) ) {
    	
    		if ( $_POST['new_pass'] != $_POST['repeat_new_pass'] ) {
    		
    			$errors[] = "";
    		
    		} else {
    		
    		$new_pass = md5(trim($_POST['new_pass']));
    		
    		}
    	
    	} else {
    	
    	$errors[] = '';
    	
    	}
    	
    	if ( empty($errors) ) { // No problems with password
    	// Change password in db
    	
    	$q = "UPDATE `users`
    		SET `pass_word` = '$new_pass'
    		WHERE `users`.`u_id` = {$_SESSION['U_ID']} LIMIT 1 ";
    	
    		$r = mysql_query($q);
    		
    		if ($r) {
    			
    			echo "<p></p>";
    		
    		} else {
    		
    			echo "<p></p>";
    		
    		}
    	
    	} else { // Display Errors
    	
    		foreach ($errors as $msg) {
    		
    		echo '<p class="error">' . "$msg" . '</p>';
    		
    		}
    	
    	}
    	
    } elseif ( isset($_POST['delete_u']) ) { // -------------------- Delete User branch -----------------------
    
    	if ( isset($_POST['unsubscribe']) && $_POST['unsubscribe'] == "1") { // Verify check box was checked
    	
    		$q = "DELETE FROM `users`, `user_info`
    			USING `users`, `user_info`
    			WHERE `users`.`u_id` = `user_info`.`u_id`
    			AND `users`.`u_id` = {$_SESSION['U_ID']} ";
    	
    		$r = mysql_query($q);
    		
    		if ( $r ) {
    	
    			echo '<p></p>';
    			$_SESSION = array();
    			session_destroy();
    			
    			echo '</div> <!-- end content -->';
    		
    			include_once($_SERVER['DOCUMENT_ROOT'] . '/includes/sidebar.php');
    			include_once($_SERVER['DOCUMENT_ROOT'] . '/includes/footer.php');
    
    			exit();
    		
    		} else { // Problem
    		
    			echo '<p></p>';
    					
    		}
    		
    	} else {
    	
    	echo '<p class="error">You must check verify your request to unsubscribe by marking the checkbox titled unsubscribe.</p>';
    	
    	}
    
    }
    ?>
    <?php
    	
    	$q = "SELECT *
    		FROM `user_info`
    		WHERE `u_id` = {$_SESSION['U_ID']} LIMIT 1 ";
    		
    	$r = mysql_query($q);
    	
    	if ( mysql_num_rows($r) == 1 ) {
    	
    		$row = mysql_fetch_assoc($r);
    
    ?>
    			<h2><?php echo $row['first_name'] . " " . $row['last_name']; ?></h2>
    			<p>Your email address : <?php echo $row['email']; ?></p>
    
    			<form id="update" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    
    				<fieldset>
    
    					<legend></legend>
    					
    					<label for="first_name">First Name</label>
    					<input type="text" name="first_name" id="first_name" value="<?php echo $row['first_name']; ?>" />
    
    					<label for="last_name">Last Name</label>
    					<input type="text" name="last_name" id="last_name" value="<?php echo $row['last_name']; ?>" />
    
    					<input type="hidden" name="update_u" value="1" />
    
    					<p><input class="submit" name="submit" type="submit" value="Submit" /></p>
    
    				</fieldset>
    
    			</form> <!-- end  update -->
    
    			<form id="change_pass" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    
    				<fieldset>
    
    					<legend></legend>
    
    					<label for="new_pass">New Pass Word. Must be between 6 and 20 characters and contain letters and numbers only.</label>
    					<input type="password" name="new_pass" id="new_pass" />
    
    					<label for="repeat_new_pass">Repeat New Password</label>
    					<input type="password" name="repeat_new_pass" id="repeat_new_pass" />
    
    					<input type="hidden" name="update_p" value="1" />
    
    					<p><input class="submit" type="submit" name="submit" value="Submit" /></p>
    
    				</fieldset>
    
    			</form> <!-- end change_pass -->
    
    			<form id="unsubscribe" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    
    				<fieldset>
    
    					<legend></legend>
    
    					<label for="unsubscribe">Click here to unsubscribe<input type="checkbox" class="checkbox" name="unsubscribe" id="unsubscribecb" value="1" /></label>
    					
    					<input type="hidden" name="delete_u" value="1" />
    
    					<p><input class="submit" type="submit" name="submit" value="Valider" /></p>
    
    				</fieldset>
    
    			</form> <!-- end unsubscribe -->
    
    			<p><a href="/"></a></p>
    
    <?php
    
    } else {
    // No u_id exists
    
    	echo "<p>Error</p>";
    	echo "</p><a href=\"/\">Cliquez ici pour retourner à l'accueil</a></p>";
    
    } // end if rows query
    ?>
    
    		</div> <!-- end content -->

  3. #3
    Join Date
    Feb 2008
    Posts
    90
    Thanks
    3
    Thanked 2 Times in 2 Posts

    Default

    Thank you for the response.
    The code you submitted me goes way beyond my knowledge and i am at a loss at how to even begin putting that into my code. The user, at one point in time specified their real name, email address, and desiered user name. I just want to spit out that information onto a page and give the user the option to delete their entire account.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •