Avatar billede PiaSkriver Nybegynder
11. marts 2010 - 09:15 Der er 15 kommentarer og
1 løsning

Godkendelse via database

Jeg har lavet en kommentar side hvor kommentarene skal godkendes for at komme vidre men men jeg kan godt lægge kommentaren op i databasen og hente den igen, hvor den har "godkend = 1" (dvs ikke godkend) så skal den godkendes "godkend=2" men den vil ikke smide det op i database så den bliver godkend "godkend = 2" så jeg kan hente den ned igen og få det lagt på den rigtige side???
Nogen god ideer det haster lidt da opgaven skal afleveres i morgen :O)
11. marts 2010 - 09:56 #1
Jamen saa maa du hellere haste med at forklare det lidt bedre.  Hvordan bliver en kommentar godkendt?  Er det saaledes at brugerne kan lave kommentarer og naar en kommentar bliver submitted bliver den bevaret i en databasetabel sammen med en godkendelsesstatus = 1 (ikke godkendt?)  Hvordan bliver en kommentar saa godkendt?  Sidder der en administrator der gennemlaeser kommentaren og beslutter at andre status til 2?  Og hvis en kommentar er godkendt skal den saa vaere til at laese paa en side?  Hvordan regnede du med at det skulle ske?  Hvordan ser databasetabellen ud (hvilke kolonner/felter?)  Kommentar og godkendelsesstatus naturligvis, men er der andet saasom dato og bruger?  Hvad sker der med kommentarer som administratoren ikke kan godkende?
Avatar billede PiaSkriver Nybegynder
11. marts 2010 - 10:35 #2
så se jeg iler :-)
brugeren kan indsætte en kommentar til fx en bil og
kommentaren bliver gemt i databasen indtil admin har læst og godkent den ved at ændre "godkend=1" som er sat som default til "godkend=2" derefter skal videre til siden hvor bilen er og kunne læses af andre der...

Database tabellen indeholder:
      Id , navn(på brugeren), text, godkend, bilnr


Ikke godkendte kommentar bliver slettet af admin.
11. marts 2010 - 11:06 #3
Jeg iler med.

Du fortaeller:  "jeg kan godt lægge kommentaren op i databasen og hente den igen, hvor den har "godkend = 1" (dvs ikke godkend)".  Saa du har sandsynligvis en virkende html formular hvor brugeren indfoerer kommentarer og en virkende mysql saetning der indfanger kommentarern fra formularen og gemmer den i databasen og saetter godkendelse til 1.  Videre har du saa, sandsynligvis, en side hvor admin kan trykke paa en knap eller lignende og det fyrer en mysql saetning af der selekter de raekker i tabellen der har godkendelsesstatus 1 og viser dem.

Er problemet saa at du ved hvordan man indsaetter en ny raekke i tabellen men ikke hvordan man aendrer en bestaaende raekke?

Hvis tabellen hedder "tabel1" og du skal opdatere raekken med id=257 saa er sql saetningen denne:  UPDATE tabel1 SET godkendt = 2 WHERE id = 257.

Hjaelper det eller har jeg misforstaaet?
Avatar billede PiaSkriver Nybegynder
11. marts 2010 - 11:29 #4
vender tilbage min phpmyadmin er gået ned så kan ikk se om der sker noget deroppe for der sker intet på siden
Avatar billede PiaSkriver Nybegynder
11. marts 2010 - 12:50 #5
hej vi prøver igen

her henter jeg den kommentar som skal godkendes og jeg trykke på godkend også sker der ikke mere nogen steder????
her er mit script:



<?
if (isset($_POST['insat'])){
$godkend = $_POST['godkend'];
$kommentar = $_POST['kommentar'];
$text = $_POST['text'];
$navn = $_POST['navn'];
$id = $_POST['id'];

$sql = mysql_query("UPDATE bilbixen_kommentar SET godkendt = 2 WHERE id = $id");

} else {
//$id = $_GET["id"];
$sql = mysql_query("SELECT * FROM bilbixen_kommentar WHERE id = $id");
$data = mysql_fetch_array($sql);
//echo "SELECT * FROM indhold WHERE id = $id";
?>
<form method="POST" action="bil_kommentar.php" enctype="multipart/form-data">
<div id="godkend">Godkend :<input type="text" name="godkend" value="<?echo $data[godkend]?>"></div><br>
<div id="pris">NAVN:
<input class="pris" type="text" name="navn" value="<?php echo $data[navn];?>"/></div>
<div id="kommentar">Evt.Kommentar:
<textarea class="kommentar" name="text"><?php echo $data[text];?></textarea></div>
<div id="bill"><img src="billeder/<?php echo $data[sti];?>"/></div>
<div id="fil">Fil: <input class="fil" type="file" name="billede"/></div>
<input type="hidden" name="id" value="<?php echo $id;?>"/>
<input class="knap" type="submit" name="insat" value="GODKEND"/>
</form>
<?
}
?>
11. marts 2010 - 14:06 #6
Du har, siger du, et felt i database tabellen der hedder "godkend" men din mysql string proever at opdatere "godkendt". 

$sql = mysql_query("UPDATE bilbixen_kommentar SET godkendt = 2 WHERE id = $id");

skal vaere

$sql = mysql_query("UPDATE bilbixen_kommentar SET godkend = 2 WHERE id = $id");

Proev det.  Jeg haaber det virker

Du havde gemt det godt.  Jeg maatte lave en tabel og en hjemmeside med din kode og saa sige:  "$sql = mysql_query("UPDATE piaskriver SET godkend = 2 WHERE id = $id") or die(mysql_error());  Saa fik jeg fejlbeskedden at den ikke kunne finde kolonnen godkendt.  Da jeg rettede det lykkedes det mig at opdatere database tabellen fra godkend=1 til godkend=2.
Avatar billede PiaSkriver Nybegynder
11. marts 2010 - 14:35 #7
mange tak jeg prøver igen ellers vender jeg tilbage
Avatar billede PiaSkriver Nybegynder
11. marts 2010 - 14:47 #8
det virker ikke :(
har du  mod på at få alle script til sendt på mail/her ????
Kan være du så beder kan se hvor jeg bummer henne :)
11. marts 2010 - 14:47 #9
Ok, christian.jorgensen@skynet.be
11. marts 2010 - 16:43 #10
Jeg har ikke modtaget noget paa email.  Har du aendret mening?
Avatar billede PiaSkriver Nybegynder
11. marts 2010 - 16:45 #11
det er på vej har lige set den
11. marts 2010 - 20:33 #12
Jeg har vaeret vaek i nogle timer.  Jeg er nu tilbage og har proevet at studere den kode du sendte.

Du sagde at problemet ligger i at opdatere bilbixen_kommentar saa godkendt bliver 2.  Saa jeg koncentrerer mig om den paagaeldende kode, den sidste del af din email som du ogsaa sendte i dit indlaeg # 5. 

Den kritiske linie kode er denne: "$sql = mysql_query("UPDATE bilbixen_kommentar SET godkend = 2 WHERE id = $id"); "

Men saa vidt jeg kan se har du ikke givet $id nogen vaerdi!  Derfor er det logisk at ingen raekke i tabellen bliver updateret. 

Da jeg testede koden-stykket i #5 og ikke fandt nogen vaerdi for $id gik jeg ud fra at du definerede $id et eller andet sted udenfor det viste kodestykke.  Derfor indsatte jeg selv en $id og det virkede perfekt, vaerdien for godkendt blev sat til 2 for den $id jeg valgte.

Et par linier laengere nede i koden har du denne linie: 
//$id = $_GET["id"]; 

Hvis det var der $id skulle modtage sin vaerdi saa virker det ikke paa grund af //.  Proev at rette //$id = $_GET["id"] til $id = $_GET["id"] og se om det hjaelper.
Avatar billede PiaSkriver Nybegynder
11. marts 2010 - 20:52 #13
takker for at du ville kigge på det prøver og ser om det virker
14. marts 2010 - 06:17 #14
PiaSkriver, tabte du pusten?  Lad mig vide hvordan det gik.
Avatar billede PiaSkriver Nybegynder
14. marts 2010 - 20:42 #15
nej tabte ikke pusten men det virket ikke uanset hvad pokker jeg gjor så måtte hen og lvae nye script :(
15. marts 2010 - 06:37 #16
I saa fald kan jeg bede dig lukke dette spoergsmaal.  At rydde op i spoergsmaal der ikke laengere er aktuelle giver god orden, og saa staar det ikke laengere som aabent i min liste af indlaeg.  I fald du ikke er klar over det, man lukker et spoergsmaal ved at acceptere et svar.  Man accepterer et svar ved at klikke i den lille firkant i hjoernet af svaret man vil acceptere.  Derefter klikker man i "accepter svar og afgiv point" der opstaar forneden i spoergsmaalet, efter alle indlaeggene.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester