Først din selectbox: <select name='type'> <option value='in'>Indeholder</option> <option value='start'>Starter med</option> <option value='exact'>Præcis</option> </select> <input type='text' name='search'>
Og søgedelen:
<? if(isset($_POST['search']) && !empty($_POST['search'])) { switch($_POST['type']) { case 'in': $query = "SELECT * FROM brugertabel WHERE brugernavne LIKE '%".mysql_real_escape_string($_POST['search'])."%' ORDER BY brugernavn ASC"; break; case 'start': $query = "SELECT * FROM brugertabel WHERE brugernavne LIKE '".mysql_real_escape_string($_POST['search'])."%' ORDER BY brugernavn ASC"; break; case 'exact': $query = "SELECT * FROM brugertabel WHERE brugernavne LIKE '".mysql_real_escape_string($_POST['search'])."' ORDER BY brugernavn ASC"; break; } $result = mysql_query($query) or die(mysql_error()); while($row = mysql_fetch_assoc($result)) { echo $row['brugernavn']." [ <a href='info.php?id=".$row['id']."'>Se info</a> ]"; if(isset($_SESSION['adminsession']) && !empty($_SESSION['adminsession'])) { echo " [ <a href='slet.php?id=".$row['id']."'>Slet</a> ]"; } echo "<br />"; } } else { echo "Der opstod en fejl, tjek venligst din søgning igen"; } ?>
Og info.php: <? if(isset($_GET['id']) && is_numeric($_GET['id'])) { $query = mysql_query("SELECT * FROM brugertabel WHERE id = ".$_GET['id']) or die(mysql_error()); while($row = mysql_fetch_assoc($query)) { echo "Brugernavn: ".$row['brugernavn']."<br />"; echo "Alder: ".$row['alder']."<br />"; echo "Msn: ".$row['msn']."<br />"; } } else { echo "Der skete en fejl. Muligvis ugyldigt id"; } ?>
Nu kan du jo så lige hygge dig med det og prøve det :) Der er sikkert noget der skal rettes, men det er da et udkast...
Det kan du jo kun flette ind, på den side hvor du tjekker om brugeren er admin, altså om de ting brugeren indtastede i login-formen er korrekt. Har du ikke et "ordentligt" login-system, hvor du sætter en session, så brugeren kun skal logges ind 1 gang?
$time=time(); $select_chatten = mysql_query("SELECT id FROM users WHERE(username='Chatten')"); $row_chatten = mysql_fetch_array($select_chatten);
$select_chattere = mysql_query("SELECT id,username,rum,answer FROM users WHERE(rum!=0)"); while($row_chattere=mysql_fetch_array($select_chattere)) { if ($time-$row_chattere[answer] > 180) { mysql_query("INSERT INTO chat (rum,text,time,f,t) VALUES('$row_chattere[rum]','$row_chattere[username] blev smidt ud på grund af inaktivitet.','$time','$row_chatten[id]','0')"); mysql_query("UPDATE users SET rum='0',onlinechat='0' WHERE(id='$row_chattere[id]')"); } }
if (!$id) { $password=($password); $select_logincheck = mysql_query("SELECT id,password,room FROM users WHERE(username='$username')"); $row_logincheck = mysql_fetch_array($select_logincheck); if ($password!=$row_logincheck[password]) { include("inc/header.php"); print "Forkert brugernavn eller password!"; include("inc/footer.php"); exit; } else { if ($login) { $id=$row_logincheck[id]; session_register(id); session_register(password); $valign="middle"; mysql_query("UPDATE users SET logins=logins+1 WHERE(id='$id')"); include("inc/header.php"); print "<font size=\"4\"><b><center>Indlæser Brugerprofil..."; include("inc/footer.php"); flush(); print " <meta http-equiv=\"refresh\" content=\"0;url=loginok.php\"> "; exit; } } } include("inc/password.php");
$select_info = mysql_query("SELECT * FROM users WHERE(id='$id')"); $row_info = mysql_fetch_array($select_info);
$select_post = mysql_query("SELECT id FROM post WHERE(modtager='$id' && status='0')");
$select_online_users = mysql_query("SELECT id FROM users WHERE(rum!='0')");
$time=time(); $select_chatten = mysql_query("SELECT id FROM users WHERE(username='Chatten')"); $row_chatten = mysql_fetch_array($select_chatten);
$select_chattere = mysql_query("SELECT id,username,rum,answer FROM users WHERE(rum!=0)"); while($row_chattere=mysql_fetch_array($select_chattere)) { if ($time-$row_chattere[answer] > 180) { mysql_query("INSERT INTO chat (rum,text,time,f,t) VALUES('$row_chattere[rum]','$row_chattere[username] blev smidt ud på grund af inaktivitet.','$time','$row_chatten[id]','0')"); mysql_query("UPDATE users SET rum='0',onlinechat='0' WHERE(id='$row_chattere[id]')"); } }
if (!$id) { $password=($password); $select_logincheck = mysql_query("SELECT id,password,room FROM users WHERE(username='$username')"); $row_logincheck = mysql_fetch_array($select_logincheck); if ($password!=$row_logincheck[password]) { include("inc/header.php"); print "Forkert brugernavn eller password!"; include("inc/footer.php"); exit; } else { if ($login) { $id=$row_logincheck[id]; session_register(id); session_register(password); $valign="middle"; mysql_query("UPDATE users SET logins=logins+1 WHERE(id='$id')"); include("inc/header.php"); print "<font size=\"4\"><b><center>Indlæser Brugerprofil..."; include("inc/footer.php"); flush(); print " <meta http-equiv=\"refresh\" content=\"0;url=loginok.php\"> "; exit; } } } include("inc/password.php");
$select_info = mysql_query("SELECT * FROM users WHERE(id='$id')"); $row_info = mysql_fetch_array($select_info);
$select_post = mysql_query("SELECT id FROM post WHERE(modtager='$id' && status='0')");
$select_online_users = mysql_query("SELECT id FROM users WHERE(rum!='0')");
Tjah, der er så en måde, omend måske ikke den aller, aller bedste, da du gør brug af en funktion der faktisk er "udgået".
Men du kan da måske udskifte: if(isset($_SESSION['adminsession']) && !empty($_SESSION['adminsession'])) { echo " [ <a href='slet.php?id=".$row['id']."'>Slet</a> ]"; } til: if(isset($_SESSION['password']) || session_is_registered('password')) { echo " [ <a href='slet.php?id=".$row['id']."'>Slet</a> ]"; } men jeg er ikke overbevist om at det virker. Du skal også huske at smide session_start(); i toppen af filen.
Det gør den nytte, at den session-variabel gerne kun skulle eksistere, hvis brugeren er korrekt logget ind. Jeg indrømmer det ikke er verdens bedste løsning, men med det loginsystem du har, så er det nok det bedste du lige kan få pt.
min kode er således: <? session_start(); $select_info = mysql_query("SELECT status FROM users WHERE id='$id'"); $row_info = mysql_fetch_array($select_info);
if(isset($_POST['search']) && !empty($_POST['search'])) { switch($_POST['type']) { case 'in': $query = "SELECT * FROM users WHERE username LIKE '%".mysql_real_escape_string($_POST['search'])."%' ORDER BY username ASC"; break; case 'start': $query = "SELECT * FROM users WHERE username LIKE '".mysql_real_escape_string($_POST['search'])."%' ORDER BY username ASC"; break; case 'exact': $query = "SELECT * FROM users WHERE username LIKE '".mysql_real_escape_string($_POST['search'])."' ORDER BY username ASC"; break; } $result = mysql_query($query) or die(mysql_error()); while($row = mysql_fetch_assoc($result)) { echo $row['username']." [ <a href='info.php?id=".$row['id']."'>Se info</a> ]"; if($aradmin == 10) { echo " [ <a href='slet.php?id=".$row['id']."'>Slet</a> ]"; } } echo "<br />"; } } else { echo "Der opstod en fejl, tjek venligst din søgning igen"; } ?>
$select_info = mysql_query("SELECT * FROM users WHERE id='$id'"); $row_info = mysql_fetch_array($select_info);
if(isset($_POST['search']) && !empty($_POST['search'])) { switch($_POST['type']) { case 'in': $query = "SELECT * FROM users WHERE username LIKE '%".mysql_real_escape_string($_POST['search'])."%' ORDER BY username ASC"; break; case 'start': $query = "SELECT * FROM users WHERE username LIKE '".mysql_real_escape_string($_POST['search'])."%' ORDER BY username ASC"; break; case 'exact': $query = "SELECT * FROM users WHERE username LIKE '".mysql_real_escape_string($_POST['search'])."' ORDER BY username ASC"; break; } $result = mysql_query($query) or die(mysql_error()); while($row = mysql_fetch_assoc($result)) { echo $row['username']." [ <a href='info.php?id=".$row['id']."'>Se info</a> ]"; if($row_info[status] == 10) { echo " [ <a href='slet.php?id=".$row['id']."'>Slet</a> ]<br \>"; } } echo "<br \>"; } else { echo "Der opstod en fejl, tjek venligst din søgning igen"; }
Ja, og der har du stadig 2 her: if($row_info[status] == 10) { echo " [ <a href='slet.php?id=".$row['id']."'>Slet</a> ]<br \>"; } } selvom der kun skal være 1.
Kommer lidt an på hvad du vil, for tror egentlig ikke den har nogen værdi, så det bedste du nok kan med den, er at tjekke om den findes med session_is_registered(); som jeg brugte før. Og ja, med session_start();
Ok, men så kan du jo enten bruge det, eller bare tjekke på om den indeholder et id. Hvis den indeholder et id, så er du jo sådan set admin, ellers ville $_SESSION['id'] slet ikke eksistere.
Hmm .. når jeg er logget ind så kommer der ingen fejl, men er jeg ikk er logget ind, så kommer denne fejl:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\websider\vhosts\2cool4you.dk\httpdocs\cnmobil\soeg\soeg.php on line 21
Line 19: while($row = mysql_fetch_assoc($result)) { Line 20: $select_info = mysql_query("SELECT * FROM users WHERE id=$_SESSION[id]"); Line 21: $row_info = mysql_fetch_array($select_info); Line 22: echo $row['username']." [ <a href='info.php?id=".$row['id']."'>Se info</a> ]"; Line 23: if($row_info[status] == 10) {
Det er jo klart, for så eksisterer den ikke og så står der bare: WHERE id = Men hvorfor vil du gøre det? Det er jo bare et dobbeltjek, altså unødig ressourcebrug, men du lytter jo ikke helt efter alligevel vist?!
Det virker ikk når man ikk er logget ind, nok fordi den ikk kan tjekke ens SESSION id .. men man skal heller ikk kunne se siden når man ikk er logget ind .. så det virker som det skal nu .. Smid Et svar .. Takker Mange Gange For hjælpen .. ps, har et spm mere .. hvis du har tid til lige at kigge på det .. skal jeg bare oprette et nyt spm eller bare sige det her ?
jo det jeg forstår af det .. for man er jo ikk admin hele tiden når man har et id, for alle brugere har et unikt id til der bruger .. det jo kun dem med status 10 som skal kunne slette brugere ..
På den måde, ok. Men så skal det jo være noget i stil med: if(isset($_SESSION['id']) && is_numeric($_SESSION['id'])) { $query = mysql_query("SELECT COUNT(*) FROM users WHERE id = ".$_SESSION['id']." AND status = 10") or die(mysql_error()); if(mysql_result($query, 0) > 0) { echo " [ Slet ]"; } }
Jaa Det skulle jeg mene .. forresten, i soeg.php, så hvis der ikk er nogen brugere der opfylder ens ord så er skærmen bare blank, den er helt tom.. hvorfor det ? skal den ikk komme og sige der er fejl ?
if(isset($_POST['search']) && !empty($_POST['search'])) { switch($_POST['type']) { case 'in': $query = "SELECT * FROM users WHERE username LIKE '%".mysql_real_escape_string($_POST['search'])."%' ORDER BY username ASC"; break; case 'start': $query = "SELECT * FROM users WHERE username LIKE '".mysql_real_escape_string($_POST['search'])."%' ORDER BY username ASC"; break; case 'exact': $query = "SELECT * FROM users WHERE username LIKE '".mysql_real_escape_string($_POST['search'])."' ORDER BY username ASC"; break; } $result = mysql_query($query) or die(mysql_error()); while($row = mysql_fetch_assoc($result)) { $select_info = mysql_query("SELECT * FROM users WHERE id=$_SESSION[id]"); $row_info = mysql_fetch_array($select_info); echo $row['username']." [ <a href='info.php?id=".$row['id']."'>Se info</a> ]"; if($row_info[status] == 10) { echo " [ <a href='slet.php?id=".$row['id']."'>Slet</a> ]"; } echo "<br />"; } } else { echo "Der opstod en fejl, tjek venligst din søgning igen"; } ?>
hvis der ikk er nogen brugernavne der indeholder det ord man skrev så er skærmin blank .. skal den ikke skrive, Der opstop en fejl, tjek.....
Nej, det er jo sådan set ikke en fejl, den finder bare ikke noget. Men du kan sagtens få den til at fortælle, at den intet finder: if(isset($_POST['search']) && !empty($_POST['search'])) { switch($_POST['type']) { case 'in': $query = "SELECT * FROM users WHERE username LIKE '%".mysql_real_escape_string($_POST['search'])."%' ORDER BY username ASC"; break; case 'start': $query = "SELECT * FROM users WHERE username LIKE '".mysql_real_escape_string($_POST['search'])."%' ORDER BY username ASC"; break; case 'exact': $query = "SELECT * FROM users WHERE username LIKE '".mysql_real_escape_string($_POST['search'])."' ORDER BY username ASC"; break; } $result = mysql_query($query) or die(mysql_error()); if(mysql_num_rows($result) == 0) { echo "Ingen resultater fundet..."; } while($row = mysql_fetch_assoc($result)) {
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.