Yaricks Skrevet 21. februar 2007 Del Skrevet 21. februar 2007 (endret) Hei, driver å lager ett CMS, men sliter med en ting. Jeg skal ha en side som lister alle brukere, med en slett knapp bak, og eller en endre knapp, der man kan endre brukerens info.. Noen som kan hjelpe meg med det? Endret 23. februar 2007 av Yaricks Lenke til kommentar
allyse Skrevet 21. februar 2007 Del Skrevet 21. februar 2007 Så du lager et CMS ja? Merker mange gjør det om dagen. Kan du si meg hva et CMS innebærer? Lenke til kommentar
Yaricks Skrevet 21. februar 2007 Forfatter Del Skrevet 21. februar 2007 Det jeg driver med nå er, - Kunne endre alle sider uten å måtte gå igjennom en PHP editor, altså en slags WISYWIG editor. - Kunne endre og slette medlemmer. - Diverse logge systemer - En egen "training" seksjon med forskjellig. Alt dette er delt opp i forsjkellig rank. Slik at de med rank 5 ikke har tilgang til veldig mye, mens de med rank 1, har tilgang til alt! Lenke til kommentar
allyse Skrevet 21. februar 2007 Del Skrevet 21. februar 2007 Og hvor kom et CMS inn der? Lenke til kommentar
mske Skrevet 21. februar 2007 Del Skrevet 21. februar 2007 Hvis det er med MySQL: <?php include("db_info.php"); $query = mysql_query("SELECT brukernavn FROM brukere ORDER BY brukernavn"); //Sorterer alfabetisk etter brukernavn while($row = mysql_fetch_array($query)) { echo "Brukere: $row['brukernavn']"; } ?> Lenke til kommentar
Yaricks Skrevet 21. februar 2007 Forfatter Del Skrevet 21. februar 2007 Se der ja! Nå var det bare å få laget en knapp som har mulighet for å kunne slette den medlemen. Lenke til kommentar
Anders Moen Skrevet 21. februar 2007 Del Skrevet 21. februar 2007 (endret) <form action="" method="post"> <input type="submit" name="delete" value="Slett bruker" /> </form> <?php $id = $_GET['id']; // altså må URL'en være noe slikt: // side.php?id=1 . Bytt ut 1 med ID nummeret til personen du skal slette. if (isset($_POST['delete'])) { echo 'Bruker slettet'; mysql_query("DELETE FROM tabell WHERE id='$id'"); } ?> Edit: hadde glemt en } på slutten Endret 21. februar 2007 av Andy-Pandy Lenke til kommentar
Yaricks Skrevet 21. februar 2007 Forfatter Del Skrevet 21. februar 2007 (endret) Se der! Akkurat det jeg trenger! Men! Får en stygg feilmelding på list scriptet.. Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /mounted-storage/home15a/sub003/sc17720-BQAO/www/mytva/beta/pilots.php on line 10 Prøvd mye rart nå, men finner ikke feilen.. Må serriøst lære meg å få mysql til å funke skikkelig i PHP slik at jeg kan gjøre slike ting selv.. EDIT: Fikk det til! Endret 21. februar 2007 av Yaricks Lenke til kommentar
kakkle Skrevet 21. februar 2007 Del Skrevet 21. februar 2007 (endret) Du vil vel ikke la vanlige brukere ha mulighet til å slette ? Kanskje bare endre sin egen info, mens den som har den høyeste ranken (alle rettigheter), kan slette og editere alle brukere, bortsett fra å slette sin egen bruker: Sett at du lagrer brukerid til den som er logget inn i en session $_SESSION["user"]: list_users.php: $sql = "SELECT rank FROM brukere WHERE id=".$_SESSION["user"]; $res = mysql_query($sql) or die("FEIL I SPØRRING: $sql"); $row = mysql_fetch_array($res); $loggedinrank = $row["rank"]; $sql = "SELECT * FROM brukere"; $res = mysql_query($sql) or die("FEIL I SPØRRING: $sql"); echo "Brukere:<br>\n"; echo "<ol>"; while($row=mysql_fetch_array($res)) { echo "<li>".$row["brukernavn"]; if($loggedinrank = 1) { echo " - <a href='edit.php?id=".$row["id"]."'>edit</a>"; if($row["id"] != $_SESSION["user"]) { echo " - <a href='delete.php?id=".$row["id"]."'>delete</a>"; } } elseif ($_SESSION["user"] == $row["id"]) { echo " - <a href='edit.php?id=".$row["id"]."'>edit</a>"; } echo "</li>"; } echo "</ol>"; sidene delete.php og edit.php må jo selvfølgelig gjøre en sjekk på om innlogget bruker har rettighet til å slette / editere brukeren. EDIT: Forutsetter jo at feltene i tabellen heter rank og brukernavn Endret 21. februar 2007 av kakkle Lenke til kommentar
stian90_2 Skrevet 22. februar 2007 Del Skrevet 22. februar 2007 Hvor skal jeg begynne ? asso.. Det du vil lage der oppe, det er ganske komplisert, væfall noe av det.. Og du sliter med og lage en while løkke som skriver ut alt i en tabell ? Da tror jeg heller du skal prøve og lære deg PHP ordentlig og MySQL før du prøver et CMS system, eventuelt de greiene du skreiv der oppe.. Lenke til kommentar
Yaricks Skrevet 22. februar 2007 Forfatter Del Skrevet 22. februar 2007 (endret) kakkle, AKKURAT det jeg ville ha! :!: Tusen takk! Hvor skal jeg begynne ?asso.. Det du vil lage der oppe, det er ganske komplisert, væfall noe av det.. Og du sliter med og lage en while løkke som skriver ut alt i en tabell ? Da tror jeg heller du skal prøve og lære deg PHP ordentlig og MySQL før du prøver et CMS system, eventuelt de greiene du skreiv der oppe.. Jeg har laget det meste andre! Mangler bare det siste! EDIT: Ok, driver med edit.php, men hvordan kan jeg få sia til å liste alt i tekstbokser slik at jeg kan endre det? Endret 22. februar 2007 av Yaricks Lenke til kommentar
stian90_2 Skrevet 22. februar 2007 Del Skrevet 22. februar 2007 fopen(); fread(); for og lese sett det i variabler og skriv ut <textarea>$innhold</textarea> for og skrive bruker du fwrite og til slutt fclose Lenke til kommentar
stian90_2 Skrevet 22. februar 2007 Del Skrevet 22. februar 2007 (endret) Mene, noen wysiwyg editor blir vannskelig og få til på PHP sider.. går vel med HTML om du bruker javascript til og redigere ? Endret 22. februar 2007 av stianiquniez Lenke til kommentar
Yaricks Skrevet 22. februar 2007 Forfatter Del Skrevet 22. februar 2007 Det er en HTML og Java editor ja.. Men har ett problem her! Har prøvd meg frem på edit.php, men den endrer ikke databasen.. Klikk for å se/fjerne innholdet nedenfor <?php include "config.php"; if (!loggedin($_COOKIE[newsuser], $_COOKIE[newspass])) { header("Location: login.php"); exit; } ?> WARNING! You are about to edit a pilot!! <br /> Are you REALLY shure that you want to do this?<br /> <?php echo (" <form method=\"POST\"> Username: <input type=\'text' size=\'25'maxlength=\'25' name=\'username'> <br /> Password <input type='text' size='30' maxlength='25' name='password' /> <br /> Name: <input type='text' size='30' maxlength='100' name='name' /> <br /> City: <input type='text' size='30' maxlength='25' name='city' /> <br /> Country: <input type='text' size='30' maxlength='25' name='country' /> <br /> E-mail: <input type='text' size='30' maxlength='50' name='email' /> <br /> <label>Status <select name='status'> <option value='Active'>Active</option> <option value='Warning'>Warning</option> <option value='Admin'>Admin</option> </select> </label> <br /> Userlevel: <select name='userlevel'> <option value='1' selected='selected'>Users (1)</option> <option value='5'>Moderator (5)</option> <option value='6'>Fleet (6)</option> <option value='7'>Training (7)</option> <option value='8'>Chief of Pilots (8)</option> <option value='9'>Admin (9)</option> </select> <br /> <input name=\'register\' type=\'submit\' value=\'Register\'> </form> <form action='' method='post'> <input type='submit' name='edit' value='Edit user' /> </form>"); include ("inc/connect_db.php"); $id = $_GET['id']; // altså må URL'en være noe slikt: // side.php?id=1 . Bytt ut 1 med ID nummeret til personen du skal slette. if (isset($_POST['edit'])) { echo 'User has been edited.'; echo '<br><a href="test.php">Return to user edit</a>'; $username = $_POST[username]; $password = $_POST[password]; $email = $_POST[email]; $name = $_POST[name]; $city = $_POST[city]; $country = $_POST[country]; $email = $_POST[email]; $status = $_POST[status]; $userlevel = $_POST[userlevel]; mysql_query("UPDATE INTO pilots (username, user_password, user_email. name, city, country, email, status, userlevel) VALUES ('$username', '$password','$email', '$name', '$city', '$country', '$email', '$status', '$userlevel') WHERE `pilot_id` = '$id'"); // UPDATE `pilots` SET `userlevel` = '7' WHERE `pilot_id`='$id'; ; } ?> <?php if ($profile[username] != "") { echo '<br><br><a href="logout.php">Logout</a>'; } ?> Lenke til kommentar
Anders Moen Skrevet 22. februar 2007 Del Skrevet 22. februar 2007 (endret) Du har en feil der: UPDATE INTO skal være UPDATE tabell SET navn='$navn', epost='$epost' WHERE id = '$id' da kan du bruke $id = $_GET['id']; et eller annet sted i PHP koden, så skriver du edit.php?id=1 (bytt ut 1 med tallet som passer id'en). Orka ikke lese hele scriptet ditt, men du må også gjøre slik: (hvis du ikke allerede har gjort det) $navn = mysql_real_escape_string($navn); for sikkerhetsmessige årsaker Håper det ble riktig, litt usikker. Har bare brukt UPDATE én gang, og det begynte jeg med for 2 dager siden, hehe... Edit: så du allerede hadde brukt $id = $_GET['id'] og noe mer... *dumme meg* Endret 22. februar 2007 av Andy-Pandy Lenke til kommentar
trrunde Skrevet 22. februar 2007 Del Skrevet 22. februar 2007 <form action="" method="post"> <input type="submit" name="delete" value="Slett bruker" /> </form> <?php $id = $_GET['id']; // altså må URL'en være noe slikt: // side.php?id=1 . Bytt ut 1 med ID nummeret til personen du skal slette. if (isset($_POST['delete'])) { echo 'Bruker slettet'; mysql_query("DELETE FROM tabell WHERE id='$id'"); } ?> Edit: hadde glemt en } på slutten 7996315[/snapback] Denne er utsatt for sql injections bruke $id=mysql_real_escape_string($_GET['id']); Lenke til kommentar
Yaricks Skrevet 22. februar 2007 Forfatter Del Skrevet 22. februar 2007 Hmm... Den poster det fortsatt ikke.. Kan det være noe galt i selve formen? Lenke til kommentar
trrunde Skrevet 22. februar 2007 Del Skrevet 22. februar 2007 (endret) Formen sender aldri videre id til brukeren, derfor funker det ikke Edit: formen har jo bare en knapp, du kan kanskje sette inn en hidden med value=id Endret 22. februar 2007 av trrunde Lenke til kommentar
Yaricks Skrevet 22. februar 2007 Forfatter Del Skrevet 22. februar 2007 Hm.. Stemmer nok det ja.. Hjalp ikke å legge den som hidden heller.. Lenke til kommentar
kakkle Skrevet 22. februar 2007 Del Skrevet 22. februar 2007 (endret) <form action="?id=<?php echo $_GET["id"];?>" method="post"> <input type="submit" name="delete" value="Slett bruker" /> </form> <?php $id = $_GET['id']; // altså må URL'en være noe slikt: // side.php?id=1 . Bytt ut 1 med ID nummeret til personen du skal slette. if (isset($_POST['delete'])) { if(mysql_query("DELETE FROM tabell WHERE id='$id'")); echo 'Bruker slettet'; else "Bruker ble ikke slettet"; } ?> EDIT: Evt: <form action="" method="post"> <input type="hidden" name="id" value="<?php echo $_GET["id"];?>"> <input type="submit" name="delete" value="Slett bruker" /> </form> <?php if (isset($_POST['delete'])) { $id = $_POST['id']; if(mysql_query("DELETE FROM tabell WHERE id='$id'")); echo 'Bruker slettet'; else "Bruker ble ikke slettet"; } ?> Endret 22. februar 2007 av kakkle Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå