Permalänk

Admin till gb [php]

Håller på med en liten admin sida till en gästbok så man kan svara på inläggen. Detta är ju inget svårare projekt men jag har fått lite problem. Här är de två filerna jag använder:
answer_guest.php

<?php $länk = mysql_connect ('host','user', 'pass'); mysql_select_db('db', $länk); $sql="SELECT * FROM gasti ORDER by datum DESC"; $result = mysql_query($sql, $länk) or die(mysql_error()); while($rad = mysql_fetch_assoc($result)) { echo (' <form action="?page=answer&id='.$rad['id'].'" method="post" value="update"> '.$rad['namn'].'</a> | Ip: '.$rad['ip'].'</a> | '.$rad['datum'].'<br> '.$rad['inlagg'].'<br> <input type="submit" value="Svara"> </form> <br> '); } ?>

answer.php

<?php $länk = mysql_connect ('host','user', 'pass'); mysql_select_db("db", $länk); $sql="SELECT * FROM gasti WHERE id='{$_GET['id']}'"; $result = mysql_query($sql, $länk) or die(mysql_error()); while($rad = mysql_fetch_assoc($result)) { if (isset($_POST['submit'])) { $sqlconn = 'UPDATE gasti SET svar='.$_POST['svar'].' WHERE (id='.$_GET['id'].')'; mysql_query($sqlconn); } ?> <form action="?page=answer&id=<?=$rad['id']?>" method="post" name="submit"> <b>Svar:</b><br><textarea name="svar" rows="5" cols="30"></textarea><br> <input type="submit" value="Svara" name="submit"> </form> <?php } ?>

Inget svar läggs till i 'svar' kolumnen.

Visa signatur

Så du söker den perfekta sidan om webbradio? Surfa då vidare till
http://www.radioworld.se
där finns allt du behöver veta om hur du drar upp en ström!

Permalänk
Medlem

Du får ursäkta att jag kommer med kommentarer som inte besvarar din fråga, men:

* Se upp för SQL-injektioner
* Det skadar inte att använda mysql_close(), även om det tydligen inte alltid är strikt nödvändigt

Permalänk
Hedersmedlem

Varför har du dina saker efter where inom parentes? Vet inte om det fungerar men man behöver inte göra så...

Visa signatur

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.

Permalänk

De ska inte va nån skillnad. Vet inte varför jag har så men jag provar lite olika grejer just nu. Den hämtar iaf id i adressfältet.

Visa signatur

Så du söker den perfekta sidan om webbradio? Surfa då vidare till
http://www.radioworld.se
där finns allt du behöver veta om hur du drar upp en ström!

Permalänk
Medlem

Det är helt meningslöst att ha en while-loop i answer.php. Det verkar ganska onödigt att hämta ut någon data över huvud taget i answer.php, eftersom du ändå enbart uppdaterar en bestämd rad med det scriptet.

Permalänk
Citat:

Ursprungligen inskrivet av Jonatan
Det är helt meningslöst att ha en while-loop i answer.php. Det verkar ganska onödigt att hämta ut någon data över huvud taget i answer.php, eftersom du ändå enbart uppdaterar en bestämd rad med det scriptet.

Men jag måste ju skriva ut ?page=answer&id=<?=$rad['id']?> så man kommer till samma sida när man tryckt på svara annars genomförs ju inte UPDATE satsen. id skriver jag ju ut med loopen så den kan jag ju inte ta bort.

Visa signatur

Så du söker den perfekta sidan om webbradio? Surfa då vidare till
http://www.radioworld.se
där finns allt du behöver veta om hur du drar upp en ström!

Permalänk
Hedersmedlem

MittroSpaung: Eftersom att du bara ska hämta ett värde en rad så behöver du inte while-slingan...

$rad = mysql_fetch_assoc($result);

duger fint...

Visa signatur

Vim
Kinesis Classic Contoured (svart), Svorak (A5)
Medlem i signaturgruppen Vimzealoter.

Permalänk

Men spela roll då. Värdet hämtas ju hur eller hur?
Ingen som kan förklara varför skriptet inte fungerar?

Visa signatur

Så du söker den perfekta sidan om webbradio? Surfa då vidare till
http://www.radioworld.se
där finns allt du behöver veta om hur du drar upp en ström!

Permalänk
Medlem

Körs MySQL-frågan korrekt då?
Testa att ändra

$sqlconn = 'UPDATE gasti SET svar='.$_POST['svar'].' WHERE (id='.$_GET['id'].')'; mysql_query($sqlconn);

till

$sqlconn = 'UPDATE gasti SET svar='.$_POST['svar'].' WHERE (id='.$_GET['id'].')'; mysql_query($sqlconn) or die(mysql_error());

Permalänk

Don_Tomaso: När jag lade till det fick jag ett felmedelande. Om man skriver "Hejsan" som svar så får man detta
Unknown column 'Hejsan' in 'field list'
Vad menas med det?

Visa signatur

Så du söker den perfekta sidan om webbradio? Surfa då vidare till
http://www.radioworld.se
där finns allt du behöver veta om hur du drar upp en ström!

Permalänk
Medlem

*fel igen*

$sqlconn = 'update gasti set svar="'.addslashes($_POST['svar']).'" where id='.intval($_GET['id']); mysql_query($sqlconn);

mer rätt än så kan det inte bli

Visa signatur

~ When there's no more room in hell, the dead will walk the earth. ~

Permalänk
Medlem

Mm, den försöker referera till en column som heter Hejsan i ditt aktuella table.

Visa signatur

Swec @ 2001 / Chalmerist - Javisst!
'Den som har flest prylar när han dör vinner!'

Permalänk

Tack Shark, fungerar nu.

Visa signatur

Så du söker den perfekta sidan om webbradio? Surfa då vidare till
http://www.radioworld.se
där finns allt du behöver veta om hur du drar upp en ström!