Avatar billede th1 Nybegynder
31. januar 2005 - 18:16 Der er 7 kommentarer og
1 løsning

Slet funktion

Hejsa eksperter

jeg har prøvet at lave en slet funktion som ser sådan ud:

<?php

require("opdater.php");

if(is_array($HTTP_GET_VARS)) {
  $id = $HTTP_GET_VARS['id'];
  $start_nr = $HTTP_GET_VARS['start_nr'];
} elseif (is_array($_GET)) {
  $id = $_GET['id'];
  $start_nr = $_GET['start_nr'];
}

$sql = "delete from gaestebog where id = $id";

include "mysql.php";


header("Location: laes.php?start_nr=$start_nr");
?>

jeg får denne fejl:
Warning: Cannot add header information - headers already sent by (output started at c:\phpdev5\www\gb\opdater.php:12) in c:\phpdev5\www\gb\slet.php on line 18

håber i kan  hjælpe mig / måske har du/i et andet forslag til en slet funktion?

m.v.h. th1
Avatar billede horizon Nybegynder
31. januar 2005 - 18:25 #1
mit forslag er:

<?php

require("opdater.php");

mysql_connect("localhost", "bruger", "pdw");
mysql_select_db("database");

$sql = "DELETE FROM gaestebog WHERE id = $_GET[id]";
$result = mysql_query($sql)or die("MySql fejl: " . mysql_error);

header("Location: laes.php?start_nr=$_GET[start_nr]");

?>

Jeg ved ikke hvad siden "opdater" gør så har ikke rettet mere ved det.

Hvis "mysql.php" filen du inkluderer er den som skaber forbindelse til databasen så slet de to linjer "mysql_connect("localhost", "bruger", "pdw");
mysql_select_db("database");" og skriv "include("mysql.php");" istedet for de 2 linjer.

Håber det hjalp dig ;)
Avatar billede th1 Nybegynder
31. januar 2005 - 18:31 #2
så kommer den med MySQL error  vil du se opdater.php??
Avatar billede detox Nybegynder
31. januar 2005 - 19:49 #3
Din oprindelige fejl er at du har output på linje 12 i 'opdater.php'. Det går ikke, når du bruger header(), må du ikke have output inden header()
Avatar billede th1 Nybegynder
01. februar 2005 - 00:45 #4
jeg har lavet det på en anden måde men kan du "horizon" ikke ligge et svar så du kan få dine point  ;)

m.v.h. tómas
Avatar billede horizon Nybegynder
01. februar 2005 - 09:14 #5
her er dit svar... men kunne godt tænke mig at se hvordan du havde løst problemet istedet ;) hvis du gider vise det.
Avatar billede th1 Nybegynder
01. februar 2005 - 17:57 #6
ja det kan jeg da:

<a href="sletb.php?action=slet&id=<?=$myrow[id];?>">Slet besked</a>

<?
if($_GET["action"] == "slet") {

mysql_query("DELETE FROM indlaeg WHERE id = $_GET[id]") or die (mysql_error());

?>
Avatar billede horizon Nybegynder
01. februar 2005 - 23:26 #7
nååh ja, det havde jeg slet ikke tænkt på hehe...
Avatar billede detox Nybegynder
01. februar 2005 - 23:44 #8
En lille forbedring vil være at lave LIMIT 1, da MySQL så ikke behøver lede videre. Altså:

mysql_query("DELETE FROM indlaeg WHERE id = $_GET[id] LIMIT 1") or die (mysql_error());
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester