webForumDet fria alternativet

relationer mellan tabeller & insert

1 svar · 393 visningar · startad av cibylla

cibyllaMedlem sedan feb. 200152 inlägg
#1

Nån som kan hjälpa?

Jag gör ett litet enkelt forum med två tabeller i databasen.
Den ena (user) innehåller info om användaren, med "iid" som räknare.
Den andra tabellen (message) listar alla meddelanden användarna har postat, samt datum för inlägget och rubrik.

Tabellerna relaterar till varandra via iid.

När en användare loggat in på sidan så finns han registrerad i 'user'. Men när han skriver ett inlägg så skrivs hans iid inte in i 'message'-tabellen.

Jag har fått totalt hjärnsläpp. Hur i hela ***** gör jag för att hans iid ska skrivas in där? :q

<?
session_start();
require("dbmanager.php");
?>

<html>
<head></head>
<body>

<?
if(!isset($_SESSION['Loginname'])) {
echo "<a href=\"login.php\">Logga in</a>";
} else {

if(isset($nytt)){

$tid = date("Y-m-d H:i:s");

$sql="INSERT INTO message VALUES('null','HÄR SKA ID:t VARA' ,'$med','$tid','$amne')";
mysql_query($sql,$db_link);

echo "Ditt inlägg är nu registrerat";

} else {

?>

<form method="post" action="nytt.php" name="matain" onSubmit="return skicka_OnClick();">
Ämne: <br> <input type="text" name="amne" size="30">
<br>
Meddelande: <br> <input type="text" name="med" size="50">
<input type="submit" name="nytt" value="Skicka">
</form>
<?
}
}
?>

LarsGMedlem sedan dec. 200012 465 inlägg
#2

Enklast är väl att du vid inloggningen sparar undan iid i en sessionvariabel på samma sätt som du gör med Loginname.

Annars så kan du använda följande sql-sats

$sql = "insert into messages select 'null',iid,'$med','$tid','$amne' from user where name = '" . $_SESSION['Loginname'] . "'";
Genererad på 366 ms · cache AV · v20260730165559-full.f96bc7eb