Okay, nu får jeg ikke fejlen. Der er fordi jeg er ved at se om jeg kan lave en edit side til min gæstebog, men når jeg har lavet de ændringer i indlæget og trykker på submit bliver der ikke rettet noget :(
I får lige hele edit koden:
function rediger_i_gaestebog($navn, $epost, $overskrift, $besked) {
$ip = getenv('REMOTE_ADDR');
$sql = "UPDATE gaestebog SET navn = '".$navn."', epost = '".$epost."', overskrift = '".$overskrift."', besked = '".$besked."' WHERE id = '".$_GET['id']."'";
prøv at udskrive din $_POST og $_GET array for at se om det er der problemet er, dette kan gøres med: <pre> <?php print_r($_POST); print_r($_GET); ?> </pre> det skal bare være i den fil du poster til, du kan evt lave en ny og ændre din form eller bare indsætte det i den nuværende fil
Warning: Cannot modify header information - headers already sent by (output started at /usr/home/dan12027/public_html/tagwall/redigere_indlaeg.php:2) in /usr/home/dan12027/public_html/tagwall/redigere_indlaeg.php on line 108
du får altså ikke definneret et id nummer nogen steder enten skal du i din form lave et felt med id nummeret evt. et hidden felt eller også skal du overføre det i adresselinien (get) i din form (action="dinfil.php?id=1")
problemet ser ud til at være at dit script ikke modtager $_GET['id'] i $sql = "UPDATE gaestebog SET navn = '".$navn."', epost = '".$epost."', overskrift = '".$overskrift."', besked = '".$besked."' WHERE id = '".$_GET['id']."'"; enten fordi den ikke bliver sendt rigtigt eller også fordi den er sat til "" hvis du ændre $sql = "UPDATE gaestebog SET navn = '".$navn."', epost = '".$epost."', overskrift = '".$overskrift."', besked = '".$besked."' WHERE id = '".$_GET['id']."'"; til $sql = "UPDATE gaestebog SET navn = '".$navn."', epost = '".$epost."', overskrift = '".$overskrift."', besked = '".$besked."' WHERE id = '1'"; // eller et nummer der er i databasen
hvis du laver en query til mysql der hedder WHERE id="" så returnere den ikke noget da der nok altid står noget i feltet id og derfor aldrig vil være lig ingenting
$sql = "UPDATE gaestebog set navn = '$navn', epost = '$epost', overskrift = '$overskrift', besked = '$besked' WHERE id = '".$_POST['id']."'";
Skal ændres til: $sql = "UPDATE gaestebog SET navn = '".$navn."', epost = '".$epost."', overskrift = '".$overskrift."', besked = '".$besked."' WHERE id = '".$_GET['id']."'";
i den funktion der hedder sql_spoerg() er der sat or die(mysql_error()) efter mysql kaldene hvis ikke så prøv at skrive det derind for lige at se om der skulle være en anden fejl
ja ændre function sql_spoerg($query) { $resultat = mysql_query($query); til function sql_spoerg($query) { $resultat = mysql_query($query) or die(mysql_error());
og indsæt id nummeret som et hidden felt i din form (kræver dog lige at du retter variablen $id til den der indeholder det rigtige id nummer som du vil redigere)
og så burde $sql = "UPDATE gaestebog SET navn = '".$navn."', epost = '".$epost."', overskrift = '".$overskrift."', besked = '".$besked."' WHERE id = '".$_POST['id']."'";
gerne virke ellers får du en fejl ved mysql kaldet :)
dmdisco, du er bare for god.!!! Nu virker det sq. :) Ved ikke lige hvad jeg har lavet forkert, men nu virker det. Mange tak. Vil du ikke smide et svar.?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.