Här är det något fel..Sidan ska hämta upp en post som bara den som lagt in den ska få ändra.. Men det dyker inte upp information från databasen. Varför har du "måsvingar" här? Har du lagrat det så i databasen? Jo dom skulle nog vara där.., annars blir det felmeddelande. En lösning skulle kunna vara att inte byta variabelnamn ($result --> $resultat) mellan raderna: Kan det vara frågorna som misslyckas. Lägg in enkel avlusningskod efter mysql_query()-anropen: ok.. på update.php får jag detta felmeddelande: Tjena ja.. kan vara nåt galet där, men nu har jag ändrat lite.. så här ser raden ut nu:Hittar inte kodfelet (Löst)
<code>
<?php
session_start(); // Alltid överst på sidan
include "conn.php"; // Databasanslutningen
?>
<html>
<head>
<title>Register - ändra</title>
</head>
<body>
<br><br><br><br><br>
<?php
if( (!empty($_SESSION['sess_user'])) && (!empty($_SESSION['sess_id'])) ) {
$sql = "UPDATE links SET lank='$lank', beskrivning='$beskrivning', kategori='$kategori' WHERE id = '{$id}' AND anvandare='{$_SESSION['sess_user']}'";
mysql_query($sql);
$sql = "SELECT * WHERE id = '{$id}' AND anvandare='{$_SESSION['sess_user']}'";
}
$result = mysql_query($sql);
while ($kolumn = mysql_fetch_array ($resultat));
print "<b>Länk:</b> ".$kolumn['lank']."<br>\n";
print "<b>Beskrivning:</b> ".$kolumn['beskrivning']."<br>\n";
print "<b>Kategori:</b> ".$kolumn['kategori']."<br>\n";
?>
</body>
</html>
</code>Sv: Hittar inte kodfelet
$sql = "SELECT * WHERE id = '{$id}' AND anvandare='{$_SESSION['sess_user']}'";
Man kanske kan ha det, men jag har aldrig sett det tidigare... Testa med:
$sql = "SELECT * WHERE id = '$id' AND anvandare='$_SESSION['sess_user']'";
/JohanSv: Hittar inte kodfelet
Men jag har ändrat sidan och kommit ett steg längre nu: Så här ser den nya koden ut:
<?php
session_start(); // Alltid överst på sidan
include "conn.php"; // Databasanslutningen
?>
<html>
<head>
<title>Register - ändra/spara</title>
</head>
<body>
<br><br><br><br><br>
<?php
$SQL = "SELECT * FROM links WHERE id={$id}";
$result = mysql_query($SQL);
while ($rad = mysql_fetch_array($result)) {
echo " Länk: " . $rad[lank] ."<br>";
echo "ID: ".$rad[id]. " Beskrivning: " . $rad[beskrivning] ."<br>";
echo " Kategori: " . $rad[kategori] ."<br>";
echo $rad["id"];
}
?>
<form action="update.php" method="post">
<input type="text" name="lank" value="<?=$row['lank']?>"><br>
<input type="text" name="beskrivning" value="<?=$row['beskrivning']?>"><br>
<input type="text" name="kategori" value="<?=$row['kategori']?>"><br>
<input type="submit" name="submit" value="spara">
</form>
</body>
</html>
Den verkar funka..
Men nästa sida, update.php funkar inte. Den ser ut så här:
<?php
session_start(); // Alltid överst på sidan
include "conn.php"; // Databasanslutningen
?>
<html>
<head>
<title>Register - spara</title>
</head>
<body>
<br><br><br><br><br>
<?php
if(isset($_POST['submit'])) {
$sql = "UPDATE links SET (lank='$lank', beskrivning='$beskrivning', kategori='$kategori') WHERE id='{$id}' AND anvandare='{$_SESSION['sess_user']}'";
$resultat = mysql_query($sql);
echo "Posten $lank blev uppdaterad <br><br>";
}
?>
</body>
</html>
Nåt verkar galet här - men vad??Sv: Hittar inte kodfelet
<code>
$result = mysql_query($sql);
while ($kolumn = mysql_fetch_array ($resultat));
</code>Sv: Hittar inte kodfelet
<code>
mysql_query($sql) or die(mysql_error());
</code>Sv: Hittar inte kodfelet
You have an error in your SQL syntax near '(lank='9898989', beskrivning='8988989', kategori='898989') WHERE id='' AND anvan' at line 1
vad göra?
Senaste koden på den sidan ser ut så här:
<?php
session_start(); // Alltid överst på sidan
include "conn.php"; // Databasanslutningen
?>
<html>
<head>
<title>Register - spara</title>
</head>
<body>
<br><br><br><br><br>
<?php
if(isset($_POST['submit'])) {
$sql = "UPDATE links SET (lank='{$_POST['lank']}', beskrivning='{$_POST['beskrivning']}', kategori='{$_POST['kategori']}') WHERE id='{$id}' AND anvandare='{$_SESSION['sess_user']}'";
$result = mysql_query($sql);
mysql_query($sql) or die(mysql_error());
echo "Posten $lank blev uppdaterad <br><br>";
}
?>
</body>
</html>Sv: Hittar inte kodfelet
I felmeddelandet ser det ut som att $id inte är initierad till nånting... Vad är $id och varifrån kommer det?
mvh JonasSv: Hittar inte kodfelet
$sql = "UPDATE links SET (lank='{$_POST['lank']}', beskrivning='{$_POST['beskrivning']}', kategori='{$_POST['kategori']}' WHERE id='{$_POST['id']}' AND anvandare='{$_SESSION['sess_user']}'");
Jag får parse error på den raden. Ser att det är nåt galet med parenteserna, tror jag...