Jump to content

How: Admin register a new user


siabanie

Recommended Posts

Hi guys,

 

Can anyone help me; I have created a registration form (can be use for create or modify) and login form (Admin). What I am trying to do is; once the admin log in he/she can create / register a new user which contains:

 

-Firstname

-Surname

-Address

-Mobile

-Dept Name

-Username

-Password

-Repeat Password

 

My DB will look like this:

 

Table PERSONS: id, firstname, surname, address, mobile, dept_id, username, password.

 

Table USER: id, username, password

 

Table DEPT: id, dept_name

 

 

Can anyone help me how am I going to related the USER table into the PERSONS so when admin register a new user - the data will be created the into database as well as the data can be extracted for modification. Any suggestion?

 

Here are my code:

 

register.php

<?php
require 'includes/application_top.php';	    

   if (!isset($_POST['name']) && isset($_GET['id'])) {


      $mode = "Modifying";
      // Get data from DB

        $q = "SELECT * FROM `persons` WHERE `ID` = '".$_GET['id']."'"; 
        $result = mysql_query($q) or die (mysql_error());
        $row = mysql_fetch_array($result);
         
        $name = $row['firstname'];
        $surname = $row['surname'];
        $address = $row['address'];
        $dept = $row['dept_id'];
        $mobile = $row['mobile'];

}else if (!isset($_POST['name']) && !isset($_GET['id'])) {

      $mode = "Register";

      // Data is empty

      $name = $surname = $address = $dept = $mobile = "";

    } else {

        $errors = array();
        if ($_POST['name'] == "") $errors[] = "Name";
        if ($_POST['surname'] == "") $errors[] = "Surname";
        if ($_POST['mobile'] == "" || !is_numeric ($_POST['mobile'])) $errors[] = "Mobile No";
             
        if (count($errors)) {

            $errormsg = "Please fill the blank info:<br/ >".implode('<br />',$errors);

            $mode = $_POST['mode'];
            $name = $_POST['name'];
            $surname = $_POST['surname'];
            $address = $_POST['address'];
            $dept = $_POST['dept'];
            $mobile = $_POST['mobile'];         

        } else {
            foreach ($_POST as $key => $val) {

		$_SESSION[$key] = $val;
		}
            header("Location: confirmPage.php"); 

        }         

    }    

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Modify Document</title>
</head>

<body>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
  <?php if (isset($errormsg)) echo "<div id=\"error_message\" style=\"color:red;\">$errormsg</div>"; ?>
  <div align="center">


  <table width="370" border="0">
    <h1> <?php echo $mode; ?> A User </h1>
     <p><font color="orangered" size="+1"><tt><b>*</b></tt></font>  
  indicates a required field</p>
      <tr>
        <th width="200" height="35" align="left" scope="row" >First Name
	 <font color="orangered" size="+1"><tt><b>*</b></tt></font>		</th>
        <td width="160"><input type="text" name="name" value="<?php echo $name;?>" size="25"/></td>
      </tr>
     
    <tr>
       <th height="35" align="left">  Surname
    <font color="orangered" size="+1"><tt><b>*</b></tt></font>	   </th>
        <td>
        <input type="text" name="surname" value="<?php echo $surname; ?>" size="25"/></td>
      </tr>
     
    <tr>
      <th height="35" align="left">  Address</th>
        <td>
	<input type="text" name="address" value="<?php echo $address; ?>" size="25"/></td>
    </tr>
      
<tr>  
       <th height="35" align="left">  
           Choose a username <font color="orangered" size="+1"><tt>*</tt></font></th>  
       <td>  
           <input name="username" type="text" maxlength="100" size="25" />        </td>  
   </tr>  
   
   <tr>  
       <th height="35" align="left">  
           Choose a password
	    <font color="orangered" size="+1"><tt><b>*</b></tt></font>		   </th>  
       <td>  
           <input name="password" type="password" maxlength="100" size="25" />             </td>  
   </tr>  
   
   <tr>  
       <th height="35" align="left">  
        Repeat your password
	 <font color="orangered" size="+1"><tt><b>*</b></tt></font>		</th>  
       <td>  
           <input name="repeatpassword" type="password" maxlength="100" size="25" />               </td>  
   </tr>  
         
    <tr>
      <th height="35" align="left">Department</th>
        <td>
         
        <select name="dept">
            <option value="">Select..</option>

<?php

    $data = mysql_query ("SELECT * FROM `dept` ORDER BY `id` DESC") or die (mysql_error());
    while($row_dept = mysql_fetch_array( $data )) {

?>
        <option value="<?php echo $row_dept['id'] ;?>" <?php if($row_dept['id']==$dept){echo ' selected="selected"';}?>>
        <?php echo $row_dept['dept_name'] ;?>        </option>
     
<?php
   }
?>
        </select>        </td>
    </tr>
     
    <tr>
      <th height="35" align="left">Mobile</th>
        <td><input type="text" name="mobile" value="<?php echo $mobile; ?>" size="25"/></td>
    </tr>

<tr>  
       <td align="right" colspan="2">  
           <hr noshade="noshade" />  
	</td>  
   </tr>  

  </table>
  <br/>
   
  <a href="index.php">
    <input type="button" name="back" value="Back" /></a>
     
    <input type="hidden" name="id" value="<?php echo isset($_GET['id']); ?>">
    <input type="hidden" name="mode" value="<?php echo $mode; ?>">
     
    <input type="submit" value="<?php echo ($mode == "Register") ? 'Register' : 'Modify'; ?>"/>
    
  </div>
</form>

</body>
</html>

Link to comment
https://forums.phpfreaks.com/topic/228505-how-admin-register-a-new-user/
Share on other sites

Sanitize your data.  On this line..

$q = "SELECT * FROM `persons` WHERE `ID` = '".$_GET['id']."'";

You never have cleaned $_GET['id'].  God only knows what could actually be in there.

 

Additionally I would look into using PDO prepared statements as your code is not secure at all.

 

And NEVER EVER use this..

php echo $_SERVER['PHP_SELF'];

 

There are known massive vulnerabilities of this on the net.  Go here.. and scroll down about 1/3rd of the page..

http://www.mc2design.com/blog/php_self-safe-alternatives

 

Archived

This topic is now archived and is closed to further replies.

×
×
  • 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.