Hi, I've been using PHP just a short while. And atm I'm trying to solve the mystery of using different functions on a same page. The code is supposed to list the users from the DB (and that it does!), but when I'm trying to call the other functions, nothing really happens... I've been dealing with this quite few days already, and now getting insane :eek: 😃
Is the problem in the switch or in the functions?
Oh yeah, and I'd like to use a drop down list for the different user types, can it be handled like the way I've put in the function EditUserForm??
Here's the code:
<?php
//users.php
include ('db.php');
switch( $function ) {
case 'EditUser':
EditUser();
break;
case 'delUser':
delUser();
break;
case 'do_EditUser':
do_EditUser();
default :
ListUsers();
}
function ListUsers(){
global $page ;
$users_per_page = "20";
if (!isset($page) or $page=="") $page=1;
$nexlimit = $page * $users_per_page - $users_per_page;
$result = mysql_query("SELECT * FROM users ORDER BY userID ASC limit $nexlimit,$users_per_page");
$result_all_rows = mysql_query("SELECT * FROM users");
$totalrows = mysql_num_rows($result_all_rows);
echo "<table border=\"1\" width=\"100%\" id=\"table1\">
<tr>
<td colspan=\"8\" align=\"center\">Käyttäjiä yhteensä ($totalrows)</td>
</tr>
<tr>
<td align=\"center\">User ID</td>
<td>Kokonimi</td>
<td>Email</td>
<td>Puhelin</td>
<td align=\"center\">Options</td>
</tr>";
while ($row = mysql_fetch_array($result)){
$userID = $row['userID'];
$fullname = $row['fullname'];
$email = $row['email'];
$tel = $row['tel'];
$username = $row['username'];
$password = $row['password'];
$usertype = $row['usertype'];
echo "<tr>
<td align=\"center\">$userID</td>
<td>$fullname</td>
<td>$email</td>
<td>$tel</td>
<td align=\"center\">[<a href=\"users.php?function=EditUser($userID)\">Edit/View</a>]
[ <a href=\"users.php?function=delUser($userID)\">Delete</a> ]
</td>
</tr>";
}//end while
echo "</table>";
// get pages:
$totpages = ceil($totalrows/$users_per_page);
for ($i=1;$i<=$totpages;$i++) {
if ($i==$page) {
$pages .= " $i ";
} else {
$pages .= " <a href=\"users.php?function=ListUsers&page=$i\">$i</a> ";
}
}
echo "<br>[ <a href=\"add_user.php\">LISÄÄ UUSI KÄYTTÄJÄ</a> ]<br>";
echo "<br><center>Pages: $pages <br>";
}
function EditUser(){
global $userID;
EditUserForm();
}
function EditUserForm(){
global $userID,$fullname,$email,$tel,$username,$password,$usertype,$user_taken_err,$email_taken_err;
//GET THE SELECTED USER ID
//$userID = $_GET['userID'];
$result = mysql_query("SELECT * FROM users WHERE userID='$userID'");
$row = mysql_fetch_array($result);
//SET THE DETAILS TO VARIABLES
$userID = $row['userID'];
$fullname = $row['fullname'];
$email = $row['email'];
$tel = $row['tel'];
$username = $row['username'];
$password = $row['password'];
$usertype = $row['usertype'];
// PRINT THE FORM
echo "<center><font class=\"title\">Muokkaa käyttäjää: [$fullname] </font></center><br>\n";
echo "<center>* Merkityt kentät ovat pakollisia.
<form name=\"EditMyInfoForm\" method=\"POST\" action=\"users.php\">
<table align=\"center\" border=\"1\" width=\"100%\" id=\"table1\" cellpadding=\"2\">
<tr>
<td width=\"100\" align=\"right\">Kokonimi:</td>
<td><input type=\"text\" name=\"fullname\" size=\"20\" value=\"$fullname\"></td>
</tr>
<tr>
<td align=\"right\">Email:</td>
<td><input type=\"text\" name=\"email\" size=\"20\" value=\"$email\"> * $email_taken_err</td>
</tr>
<tr>
<td align=\"right\">Puhelin:</td>
<td><input type=\"text\" name=\"tel\" size=\"20\" value=\"$tel\"></td>
</tr>
<tr>
<td align=\"right\">Käyttäjätunnus:</td>
<td><input type=\"text\" name=\"username\" size=\"20\" value=\"$username\"> * </td>
</tr>
<tr>
<td align=\"right\">Salasana:</td>
<td><input type=\"text\" name=\"password\" size=\"20\" value=\"$password\"> * </td>
</tr>
<tr>
<td align=\"right\">Käyttäjätyyppi:</td>
<td><select name=\"usertype\" id=\"usertype\">
<option value =\"$usertype=='9'\">Admin</option>
<option value =\"$usertype=='1'\">User</option>
</select>
</tr>
<tr>
<td> </td>
<td> <input type=\"hidden\" name=\"userid\" value=\"$userID\">
<input type=\"hidden\" name=\"function\" value=\"do_EditUser\">
<input type=\"submit\" name=\"function\" value=\"Tallenna\"></td>
</tr>
</table></form>";
}
function delUser(){
global $userID;
$result = mysql_query("DELETE from users WHERE userID='$userID'");
echo "<div align=\"center\" class=\"div\">Käyttäjä on poistettu. <br>Odota hetki...</div>";
echo "<META HTTP-EQUIV=Refresh CONTENT=\"2; URL=users.php\">";
}
function do_EditUser(){
global $userID, $email, $fullname, $email_taken_err;
global $tel, $username, $password, $usertype;
global $site_name, $site_email, $site_url;
//this function will check fields incase of javascript not working.
if(trim(empty($email))){
//print the error message and load the form.
EditUserForm();
echo "<center><font class=\"error\">Error: Täytä kaikki kentät.</font></center>\n";
exit();
}
/*--nothing empty? everything is okay? lets do the changes--*/
$sql_email_check = mysql_query("SELECT email FROM users WHERE email='$email' AND userID!='$useriID'") or die ("Error: ". mysql_error());
$email_check = mysql_num_rows($sql_email_check);
//define error message for usage in multi plces.
$exist_msg = "<font class=\"error\">(Sähköpostiosoite: $email on jo varattu!.)</font>";
if($email_check == 1){
$email_taken_err = $exist_msg;
unset($email);
//if the email already been taken load the form and print errors.
EditUserForm();
exit();
}
$result = mysql_query("UPDATE users
SET fullname='$fullname',
email='$email',
tel='$tel',
profile='$profile',
username='$username',
password='$password'
usertype='$usertype'
WHERE userID='$userid'");
echo "<div align=\"center\" class=\"div\">Informaatio on tallennettu. <br>Odota hetki...</div>";
echo "<META HTTP-EQUIV=Refresh CONTENT=\"3; URL=users.php\">";
}
?>