Admin panel users werkt niet goed

Status
Niet open voor verdere reacties.

Stinuz

Terugkerende gebruiker
Lid geworden
14 jun 2003
Berichten
1.245
Hoi, om gebruikers op mijn website te beheren gebruik ik het volgende script:

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:
Goh ik wist niet dat mijn script zo in trek was :rolleyes:

PHP:
$wijzigQuery = "UPDATE ac_users SET
                                    username='$username'
                                    password='$password'
                                    Name1='$name1'
                                    Name2='$name2'
                                    email='$email'
                                    website='$website'
                                    WHERE id='$_GET[id]'";
wijzigen in
PHP:
$wijzigQuery = "UPDATE ac_users SET
                                    username='$username',
                                    password='$password',
                                    Name1='$name1',
                                    Name2='$name2',
                                    email='$email',
                                    website='$website'
                                    WHERE id='$_GET[id]'";

Controleer ook of je de namen van de velden wel juist hebt (in de database dan, die in het formulier komen zover ik zie overeen)
 
Ik zit een hele hoop met jou scriptjes te spelen :D

EDIT:

Thx, met die komma's erbij werkt het naar behoren :D
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan