05. august 2002 - 12:39Der er
18 kommentarer og 1 løsning
Sorter og slet brugere..
Jeg har lavet en lille kode der ser sådan ud:
<?php require("../config.php");
if ($id) { $query = "DELETE FROM users WHERE id = '$id';"; // Ret $pre_dir til så skråstreger bliver til backslashes! $pre_dir=eregi_replace("/", "\\", $pre_dir); rmdir($config[root_dir]$pre_dir$username) }
?> <table width="100%"> <tr> <td><strong>ID</strong></td> <td><strong>BRUGERNAVN</strong></td> <td><strong>EMAILKODE</strong></td> <td><strong>OPRETTET</strong></td> <td><strong>SLET</strong></td> </tr> <?php $enuge = time() - 60*60*24; $q = mysql_query("SELECT * FROM users WHERE emailcode!='' AND created > '$enuge' Order by ID ASC") or die(myqsl_error()); while ($r = mysql_fetch_array($q)) { ?> <tr> <td><?=$r['id']?></td> <td><?=$r['username']?></td> <td><?=$r['emailcode']?></td> <td><?=$r['created']?></td> <td><a href="gamle_brugere.php?delete=<?=$r['id']?>">X</a></td> </tr> <?php } ?> </table>
den skal bruges til at slette brugere fra mit site med :).. men problemet er at når jeg indsætter nedenstående linjer så kommer der bare en blank side.. jeg er helt ny på PHP så det er garanteret mig der laver en fejl :).. ville være rart hvis der var en der kunne hjælpe mig.. (database forbindelse ligger i config.php)
if ($id) { $query = "DELETE FROM users WHERE id = '$id';"; // Ret $pre_dir til så skråstreger bliver til backslashes! $pre_dir=eregi_replace("/", "\\", $pre_dir); rmdir($config[root_dir]$pre_dir$username) }
der sker bare det samme.. en blank side uden fejl.. men med det samme jeg fjerner:
if ($id) { $query = mysql_query("DELETE FROM users WHERE id = '$id'"); // Ret $pre_dir til så skråstreger bliver til backslashes! $pre_dir=eregi_replace("/", "\\", $pre_dir); rmdir($config[root_dir]$pre_dir$username) }
udskriver den fint brugerne.. mon det er noget med det her?
if ($id) {
altså jeg vil bare lave sådan at man kan trykke på nogle links for at slette brugerne fx:
Jeg går så ud fra at nedenstående kode ligger i filen gamle_brugere.php
<?php require("../config.php");
if ($id) { $query = "DELETE FROM users WHERE id = '$id';"; // Ret $pre_dir til så skråstreger bliver til backslashes! $pre_dir=eregi_replace("/", "\\", $pre_dir); rmdir($config[root_dir]$pre_dir$username) }
?>
Men hov her kigger du på $id men variablen du sender med hedder $delete. Prøv lige at ændre ><a href="gamle_brugere.php?delete=100"> til ><a href="gamle_brugere.php?id=100">
if (isset($delete)) { $query = mysql_query("DELETE FROM users WHERE id = '$id'"); // Ret $pre_dir til så skråstreger bliver til backslashes! $pre_dir=eregi_replace("/", "\\", $pre_dir); rmdir($config[root_dir]$pre_dir$username) }
?> <table width="100%"> <tr> <td><strong>ID</strong></td> <td><strong>BRUGERNAVN</strong></td> <td><strong>EMAILKODE</strong></td> <td><strong>OPRETTET</strong></td> <td><strong>SLET</strong></td> </tr> <?php $enuge = time() - 60*60*24; $q = mysql_query("SELECT * FROM users WHERE emailcode!='' AND created > '$enuge' Order by ID ASC") or die(myqsl_error()); while ($r = mysql_fetch_array($q)) { ?> <tr> <td><?=$r['id']?></td> <td><?=$r['username']?></td> <td><?=$r['emailcode']?></td> <td><?=$r['created']?></td> <td><a href="gamle_brugere.php?delete=<?=$r['id']?>">X</a></td> </tr> <?php } ?> </table>
og når jeg fjerner:
if (isset($delete)) { $query = mysql_query("DELETE FROM users WHERE id = '$id'"); // Ret $pre_dir til så skråstreger bliver til backslashes! $pre_dir=eregi_replace("/", "\\", $pre_dir); rmdir($config[root_dir]$pre_dir$username) }
uskriver den fint.. men når det ovenstående lille stykke kode er indsat som i den øverste kode så får jeg bare en blank siden!!. :(.. hader sådan noget :(..
if (isset($delete)) { $query = mysql_query("DELETE FROM users WHERE id = '$delete'"); // Ret $pre_dir til så skråstreger bliver til backslashes! $pre_dir=eregi_replace("/", "\\", $pre_dir); rmdir($config[root_dir]$pre_dir$username); }
?> <table width="100%"> <tr> <td><strong>ID</strong></td> <td><strong>BRUGERNAVN</strong></td> <td><strong>EMAILKODE</strong></td> <td><strong>OPRETTET</strong></td> <td><strong>SLET</strong></td> </tr> <?php $enuge = time() - 60*60*24; $q = mysql_query("SELECT * FROM users WHERE emailcode!='' AND created > '$enuge' Order by ID ASC") or die(myqsl_error()); while ($r = mysql_fetch_array($q)) { ?> <tr> <td><?=$r['id']?></td> <td><?=$r['username']?></td> <td><?=$r['emailcode']?></td> <td><?=$r['created']?></td> <td><a href="gamle_brugere.php?delete=<?=$r['id']?>">X</a></td> </tr> <?php } ?> </table>
men den virker kun når dette er væk:
// Ret $pre_dir til så skråstreger bliver til backslashes! $pre_dir=eregi_replace("/", "\\", $pre_dir); rmdir($config[root_dir]$pre_dir$username);
if (isset($delete)) { $query = mysql_query("DELETE FROM users WHERE id = '$delete'"); // Ret $pre_dir til så skråstreger bliver til backslashes! $pre_dir=eregi_replace("/", "\\", $pre_dir); rmdir($config[root_dir]$pre_dir$username); }
?> <table width="100%"> <tr> <td><strong>ID</strong></td> <td><strong>BRUGERNAVN</strong></td> <td><strong>EMAILKODE</strong></td> <td><strong>OPRETTET</strong></td> <td><strong>SLET</strong></td> </tr> <?php $enuge = time() - 60*60*24; $q = mysql_query("SELECT * FROM users WHERE emailcode!='' AND created > '$enuge' Order by ID ASC") or die(myqsl_error()); while ($r = mysql_fetch_array($q)) { ?> <tr> <td><?=$r['id']?></td> <td><?=$r['username']?></td> <td><?=$r['emailcode']?></td> <td><?=$r['created']?></td> <td><a href="gamle_brugere.php?delete=<?=$r['id']?>&username=<?=r['username']?>">X</a></td> </tr> <?php } ?> </table>
så bliver den sendt sammen med delete (altså I linket...)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.