webForumDet fria alternativet

Problem med Session?

4 svar · 306 visningar · startad av Dwarfen

DwarfenMedlem sedan jan. 2002241 inlägg
#1

Försöker göra en tabell med hjälp av mina knappa kunskaper, men något går fel =(
Jag lyckas lägga till :
Länknamn
Länkadress
Kommentar

Men jag får inte med mig sessionen från inloggningsidan.
Har provat med echo $_SESSION['värde'], och då får jag ut ett värde, men det vill inte följa med in i databasen.
Förstår inte vad som är fel?

<?php
error_reporting (E_ALL);
	$username = 'xxx';
	$password = 'xxx';
	$dbName = 'xxx';
	mysql_connect('localhost', $username, $password) or die (mysql_error());
	mysql_select_db($dbName) or die (schyse());

if (isset($_POST['submit'])) {
$sql = " INSERT INTO lankar (luserid, ladress, lkommentar, llankname ) values ('". $_POST['UID'] ."', '". $_POST['ladress'] ."', '". $_POST['lkommentar'] ."', '". $_POST['llankname'] . "')";
mysql_query($sql) or die("Fel: ". mysql_error());
}
mysql_close()
?>

<html>
<head>
<title>Lägg till en hemsida till länksamlingen...</title>
</head>
<body>
<form method="post" action="<?=$_SERVER['PHP_SELF']?>">
<form method="post" action="lankar.php?nid=<?$_SESSION['UID'];?>">
Länknamn: <input type="text" name="llankname" value=""/><br/>
Länkadress: <input type="text" name="ladress" value=""/><br/>
Kommentar: <input type="text" name="lkommentar" value=""/><br/>
<input type="submit" name="submit" value="Skicka"/>
</form>
</body>
</html>
@ndersMedlem sedan juni 200032 969 inlägg
#2
$sql = " INSERT INTO lankar (luserid, ladress, lkommentar, llankname ) values ('". $_GET['nid'] ."', '". $_POST['ladress'] ."', '". $_POST['lkommentar'] ."', '". $_POST['llankname'] . "')";

alternativt

$sql = " INSERT INTO lankar (luserid, ladress, lkommentar, llankname ) values ('". $_SESSION['UID'] ."', '". $_POST['ladress'] ."', '". $_POST['lkommentar'] ."', '". $_POST['llankname'] . "')";

Mvh

Patrik81Medlem sedan okt. 2001538 inlägg
#3

Det verkar ju enligt denna koden inte som om du har session_start(); längst upp på sidan, så att du kan få ut något med echo($_SESSION['UID']); på denna sidan verkar vara ett litet mirakel i sig. ;)

Utöver detta verkar det ju sedan som om du har två form-taggar, en som länkar tillbaka till denna sidan, och en som länkar till lankar.php
Och till lankar.php lägger du $_SESSION['UID'] som en querystring i variabeln "nid" ($_GET['nid'])

Så om det är den där "nid" du vill slänga in i databasen så bör du inte försöka att slänga in $_POST['uid'] utan $_GET['nid']
Men jag förstår inte riktigt varför du inte bara startar sessionen (session_Start(); högst upp) och sedan bara infogar $_SESSION['UID'] i sql-koden, där det nu står $_POST['UID']

Nåväl, du kanske har en god anledning som jag inte vet om, men iaf. det är min syn på saken.

Hoppas det var till någon hjälp. :)

MVH Patrik

/r Asch vad seg man är

DwarfenMedlem sedan jan. 2002241 inlägg
#4

Fy fan, jag skäms...Glömde ju start Session =) hehe, nu får jag väl hoppas att igen annan läser detta inlägg =)
Tack Patrik!

DwarfenMedlem sedan jan. 2002241 inlägg
#5

Kan förövrigt förklara lite.
"nid" skulle inte användas, den kommer från en annan kod, blev lite rörigt där...=)
Har ett unikt id för varje användare UID, som startas varje gång en användare loggar in, $_SESSION['UID'].
Det är bara för att om en användare byter användarnamn så är hans id alltid det samma, har länkat allt till det ID:et istället för till hans nick.
Därför gör jag så.
Men tack iallafall, nu funkar det!
Hepp!

128 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)