Hoi, om gebruikers op mijn website te beheren gebruik ik het volgende script:
Gebruikers verwijdere gaat prima, maar zodra ik de gegevens van een gebruiker aan wil passen krijg ik de error ''1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'password='' Name1='Dimitri' ' at line 3''
Personelijk denk ik dat het komt door het gedeelte
omdat ik de verschillende waardes hier onder elkaar heb gezet, maar ik weet helemaal niet of dat eigenlijk wel zo kan. Iemand die weet hoe het wel moet, of dat het misschien ergens anders aan ligt? :thumb:
PHP:
<?
session_start();
///////////////////////////////////DATABASE GEGEVENS///////////////////////////////////
// Mijn database gegevens staan hier
///////////////////////////////////END DB GEGEVENS///////////////////////////////////
// Hier staan mijn inlognaam en wachtwoord
//Inloggen
if(isset($_POST['login']))
{
if($_POST['uname'] == $inlogNaam && $_POST['pass'] == $inlogPass)
{
//Sessie aanmaken
$_SESSION['login'] = "ja";
echo "<meta http-equiv='Refresh' content='2; url=useradmin.php'>
<center>Succesvol ingelogd!</center>";
}
else
{
//Foutmelding bij verkeerde gegevens
echo "<meta http-equiv='Refresh' content='2; url=useradmin.php'>
<center>Inloggen mislukt.!</center>";
}
}
else
{
if($_SESSION['login'] != "ja")
{
//Inlog formulier weergeven
echo'<form action="useradmin.php" method="POST">
Gebruikersnaam: <input type="text" name="uname" /><br />
Wachtwoord: <input type="password" name="pass" /><br /><br />
<input type="submit" name="login" value="Inloggen" />';
}
else
{
if(isset($_POST['delete']))
{
//Users verwijderen
$deleted_items = join(', ', $_POST["list"]);
$deleteQuery = "DELETE FROM ac_users WHERE id IN ($deleted_items)";
mysql_query($deleteQuery) or die(mysql_errno() . ": " . mysql_error());
echo "<meta http-equiv='Refresh' content='2; url=useradmin.php'>
<center>Username(s) verwijderd!</center>";
}
elseif(isset($_GET['id']) && is_numeric($_GET['id']))
{
//Username wijzigen
if(isset($_POST['submit']))
{
extract($_POST);
$wijzigQuery = "UPDATE ac_users SET
username='$username'
password='$password'
Name1='$name1'
Name2='$name2'
email='$email'
website='$website'
WHERE id='$_GET[id]'";
mysql_query($wijzigQuery) or die(mysql_errno() . ": " . mysql_error());
echo "<meta http-equiv='Refresh' content='2; url=useradmin.php'>
<center>Username gewijzigd!</div></center>";
}
else
{
//Wijzig formulier weergeven
$detailQuery = "SELECT * FROM ac_users WHERE id='$_GET[id]'";
$detailResult = mysql_query($detailQuery);
$detailRow = mysql_fetch_array($detailResult);
extract($detailRow);
echo'
<center>
<form action="useradmin.php?id='. $id .'" method="post">
Username:<br><input type="text" size="100" name="username" value="'.$username.'"><br>
Password:<br><input type="text" size="100" name="password" value="'.$password.'"><br>
First Name:<br><input type="text" size="100" name="name1" value="'.$name1.'"><br>
Last Name:<br><input type="text" size="100" name="name2" value="'.$name2.'"><br>
e-mail:<br><input type="text" size="100" name="email" value="'.$email.'"><br>
Website:<br><input type="text" size="100" name="website" value="'.$website.'"><br>
<input type="submit" name="submit" value="Edit">
</form>
</center>';
}
}
else
{
//Volledige lijst met usernames weergeven
$ac_usersQuery = "SELECT * FROM ac_users";
$ac_usersResult = mysql_query($ac_usersQuery) or die(mysql_errno() . ": " . mysql_error());
echo'<form action="useradmin.php" method="POST">';
if (mysql_num_rows($ac_usersResult) == "0")
{
//Melding bij geen usernames in database
echo"<center><b>Geen usernames aanwezig!</b></center>";
}
else
{
//Alle usernames weergeven
while ($ac_usersRow = mysql_fetch_array($ac_usersResult))
{
extract($ac_usersRow);
echo '<input name="list[]" type="checkbox" value="'. $id .'">
<a href="useradmin.php?id='. $id . '">'. $username .'</a><br />';
}
echo'<br /><input type="submit" value="Verwijder selectie" name="delete">';
}
echo '</form>';
}
}
}
?>
Gebruikers verwijdere gaat prima, maar zodra ik de gegevens van een gebruiker aan wil passen krijg ik de error ''1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'password='' Name1='Dimitri' ' at line 3''
Personelijk denk ik dat het komt door het gedeelte
PHP:
<form action="useradmin.php?id='. $id .'" method="post">
Username:<br><input type="text" size="100" name="username" value="'.$username.'"><br>
Password:<br><input type="text" size="100" name="password" value="'.$password.'"><br>
First Name:<br><input type="text" size="100" name="name1" value="'.$name1.'"><br>
Last Name:<br><input type="text" size="100" name="name2" value="'.$name2.'"><br> e-mail:<br><input type="text" size="100" name="email" value="'.$email.'"><br> Website:<br><input type="text" size="100" name="website" value="'.$website.'"><br>
<input type="submit" name="submit" value="Edit">
</form>
omdat ik de verschillende waardes hier onder elkaar heb gezet, maar ik weet helemaal niet of dat eigenlijk wel zo kan. Iemand die weet hoe het wel moet, of dat het misschien ergens anders aan ligt? :thumb:
Laatst bewerkt: