Egyszerű fórum kódom nem jó SQL-eket generál
Sziasztok!
Egy forum létre hozásában kérném a segítségeteket.
Amikor hozzászólás érkezik egy témára akkor nekem nem úgy csinálja az sql beillesztést ahogy azt én elterveztem, ne a téma azonósítót írja be csak egy üres értéket
Amásik próblémám ezzel a kóddal hogy amikor válasz
érkezet akkor az üzenet lekérdezésbe nem a téma
azonosító marad hanem a hozzászoló neve.
tehát a lekérdezés hozzászólás után így néz ki:
Ezeket miért csinálja moit nem írtam jól?
Próbáltam már rejtett mezővel azzal se csinálja meg.
Ha tudtok lécci segítsetek.
ime a kódom:Köszi Tamás
■ Egy forum létre hozásában kérném a segítségeteket.
Amikor hozzászólás érkezik egy témára akkor nekem nem úgy csinálja az sql beillesztést ahogy azt én elterveztem, ne a téma azonósítót írja be csak egy üres értéket
Amásik próblémám ezzel a kóddal hogy amikor válasz
érkezet akkor az üzenet lekérdezésbe nem a téma
azonosító marad hanem a hozzászoló neve.
tehát a lekérdezés hozzászólás után így néz ki:
select * from message whwre topic=ide a hozászoló nevét írja nem a téma azonosítót
Ezeket miért csinálja moit nem írtam jól?
Próbáltam már rejtett mezővel azzal se csinálja meg.
Ha tudtok lécci segítsetek.
ime a kódom:
<center><title>Topics create</title>
<table>
<form action="show1.php" method="post">
<tr><td><b>Név</b>:</td><td><input name="name"
type="text"></td></td>
<tr><td>email:</td><td><input
name="email"type="text"></td></tr>
<tr><td>Szöveg:</td><td><textarea name="message"
cols=50 rows=25> </textarea></td></tr>
<tr><td colspan=2 align="center"><input type="submit"
value="send"><input type="reset"
value="deleted"></td></tr>
</form></table>
</center>
<?php
$write=$_GET['topic'];// téma azonosító
$conn=mysql_connect("localhost", "tomika", "onweb");
mysql_select_db("forum");
$sql="select * from message WHERE
topicid='".$_GET['topic']."'";
$result=mysql_query($sql);
while($mess=mysql_fetch_array($result))
{
echo '".$mess['message']."';
}
echo $sql;
echo $_POST['name'];
$write=$_GET['topic'];
echo "<b>".$write."</b>";
if(isset($_POST['name']) and isset($_POST['email'])
and isset($_POST['message']))
{
$sql1="insert into message
values('".$_POST['message']."','NOW()','','".$write"','".$_POST['name']."')";
mysql_query($sql1);
echo $sql1;
}
echo $_POST['topic'];
mysql_close($conn);
?>
Mindjárt étnézem a kódot
javasolt olvasmány :
http://www.w3.org/Provider/Style/TITLE.html
http://www.w3.org/WAI/UA/TS/html401/cp0909/0909-TABLE-CAPTION.html
aztán a <form> ne a <table> -ban legyen, hanem azt kéne hogy a <form> fogja közre a táblát. Persze ezek csak formaságok.
Jha majdnem elfelejtettem:
$sql="select * from message WHERE topicid='".$_GET['topic']."'";
adatellenörzés nélkül ne állíts össze SQL mondatot ürlapról jött adatokból.
Jó lenne ismerni az adatbázis tábák szerkezetét
A harmadik mező az üres stringet kap.
Itt is közvetlenül használod a felhasználótól jött adatokat. Nem egészséges.
kösz
Még néhány javaslat
Köszi de..
Nem pedig a kiválasztotthoz ezt nem értem miért csinálja.
<Nincs cím>
Egyrészt, ha azt szeretnéd, hogy segítsenek, akkor legalább tiszteld meg a többi olvasót azzal, hogy értelmes magyar mondatokat írsz ide, azt már nem is merem kérni, hogy áttekinthetően tördelve.
Ha jól értettem a problémákat:
Az insertnél lehet, hogy a tábla is rosszul van létrehozva, a kódból nem derül ki. Csináld úgy a query-t, hogy
INSERT INTO tábla( 'mező1', 'mező2', 'mező3' ) VALUES ( 'érték1', 'érték2', 'érték3' );
Az id mezőt értelemszerűen hagyd ki belőle.
A $_GET['topic']-ot nem látom, honnan kapja.
Próbáld meg okosan feltenni a kérdést!
--
Akksi
$write=$_GET['topic'];
Ha jól veszem ki a kódból, akkor az űrlapnak a topic azonosítót GET módon adod át, csak ezt nem fogadod és adod tovább POST módon. Ha elküldöd az űrlapot akkor az így el fog veszni.
Először fogadd az űrlapnak GET módon küldött azonosítót és tedd bele egy rejtett mezőbe pl: az alábbi módon:
<input type='hidden' name='topic' value='$_GET['topic']'>
A feldolgozásnál pedig a GET helyett POST-ot használj:
$write=$_POST['topic'];// téma azonosító
- pint3r -
GPRS Easy Connect Team
http://easyconnect.linuxuser.hu
Köszi