Ik zit met een probleem, als ik deze pagina in een include laat werken, dan doet het niks. Doe ik hem appart, een exclude, runnen, dan werkt het wel.
Hoe kan dat?

newuseradd.php
<?php

$username = $_GET['username'];
$password = $_GET['password'];
$key = $_GET['key'];
$name = $_GET['name'];
$email = $_GET['email'];
$level = $_GET['level'];

$sql = 'SELECT * FROM AdminUsers';
$result = mysqli_query($connect, $sql);
$details = mysqli_fetch_all($result, MYSQLI_ASSOC);
mysqli_free_result($result);
mysqli_close($connect);

foreach($details as $detail) {
if($username == $detail['Username']) {
echo "<tr><td colspan='7'>Username already in use!</td></tr>";
if($name == $detail['Name']) {
echo "<tr><td colspan='7'>Name already in use!</td></tr>";
if($email == $detail['email']) {
echo "<tr><td colspan='7'>Email already in use!</td></tr>";
}
}
} else {
$query = 'INSERT INTO AdminUsers (Username, Passwd, LoginKey, Name, email, Level) VALUES ('.$username.', '.md5($password).', '.$key.', '.$name.', '.$email.', '.$level.')';
$result = mysqli_query($connect, $query);
echo "<tr><td>New User added</td></tr>";
}

}

?>
Dit is de code en werkt wel als ik hem op de achtergrond laat werken, maar als hij door een include wordt aangeroepen, werkt hij niet. Alle variable staan goed, dus daar is niks mis mee.
PS: bij de exclude laadt ik wel de database.php config in
En heb je de error al gelezen? Blijkbaar voer je iets uit terwijl je de connectie al gestopt hebt.
Ja heb de mysqli_close($connect); onderin gezet en nu doet ie het.
Klopt.
In regel 14 sluit je de verbinding.

mysqli_close($connect);

Niet doen dus.
Eigenlijk is het gebruik van die functie onnodig omdat de verbinding vanzelf gesloten wordt.
Je hebt ergens dit:

            $result = mysqli_query($connect, $query);
            
            echo "<tr><td colspan='7'>".$query."</td></tr>";
            
            if(mysqli_query($connect, $query)) {
                echo "<br>Record Updated Succesfully";
 

Hiermee voer je dezelfde query twee keer uit.
Beetje overbodig lijkt mij.
- SanThe - op 05/06/2022 21:29:08

Hiermee voer je dezelfde query twee keer uit.
Beetje overbodig lijkt mij.

Goed gezien SanThe. Niet alleen overbodig, maar ook onwenselijk.
$result staat al in het geheugen, dus dit is logischer:


<?php
  if($result !== false) {
                echo "<br>Record Updated Succesfully";
}
?>

Reageren