Avatar billede nielschristiansen Nybegynder
11. januar 2004 - 03:22 Der er 22 kommentarer og
1 løsning

hvodan får jeg et link til at slette en post i en database

jeg har oprettet en database som med diverse oplysninger og nu vil jeg gerne lave en admin side hvor det er muligt at slette posten ved at trykke på et link mit script ser sådan her ud
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Untitled</title>
</head>
<body>
<?
$db = mysql_connect("localhost","bruger","adgang");
mysql_select_db("pro",$db);
$fore = mysql_query("delete * from haar_saksen_dk.pro where $sql = delete from tabel where overskrift = '$overskrift'");?>
</body>
</html>
og min admin indtil vidre ser sådan her ud
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Untitled</title>
</head>
<body>
<?
$db = mysql_connect("localhost","bruger","adgang");
mysql_select_db("pro",$db);
$fore = mysql_query("select * from haar_saksen_dk.pro");
while($data = mysql_fetch_row($fore)){
?>
<table align="center">
<tr>
<td><? echo "<img src='/upload/$data[3]'>"; ?> </td>
<td><?=$data[1];?></td><tr>
<?$data[2];?><a href='slet.php?id=1'>slet</a>
</td>
</tr>
</table>
<hr>
<?
}

?>
</body>
</html>
Avatar billede 2c Nybegynder
11. januar 2004 - 04:11 #1
Nu er PHP ikke min stærke side, men måden at gøre det på er:
På admin siden har du et link til slet.php med et id fra din tabel med som parametre ( <a href='slet.php?id=<?=$id;?>'>slet</a> )

din slet.php, sletter fra databasen, og redirecter til admin siden.
Avatar billede fet321 Nybegynder
11. januar 2004 - 09:51 #2
Din slet.php kan se sådan er ud:

<?php

$db = mysql_connect("localhost","bruger","adgang");
mysql_select_db("pro",$db);
mysql_query("DELETE FROM haar_saksen_dk.pro WHERE id=".$_GET["id"].";");
mysql_close();
header("Location: index.php");

?>

/fet321
Avatar billede fet321 Nybegynder
11. januar 2004 - 10:03 #3
... og din admin side skal se sådan her ud:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<?php

$db = mysql_connect("localhost","bruger","adgang");
mysql_select_db("pro",$db);
$fore = mysql_query("select * from haar_saksen_dk.pro");

while($data = mysql_fetch_row($fore)){
?>
    <table align="center">
    <tr>
        <td><img src="/upload/<? echo $data[3]; ?>"></td>
        <td><? echo $data[1]; ?></td>
        <td><? echo $data[2]; ?><a href="slet.php?id=<?$data[0]?>">slet</a></td>
    </tr>
    </table>
    <hr>
<?
}

?>
</body>
</html>
Avatar billede fet321 Nybegynder
11. januar 2004 - 10:03 #4
Ovenstående forudsætter at dit id-felt i databasen hedder "id", og er placeret, som det første felt i db.
Avatar billede nielschristiansen Nybegynder
11. januar 2004 - 12:57 #5
får en fejl i slet.php header already sent
selvom jeg har skrevet det i toppen af siden
Avatar billede nielschristiansen Nybegynder
11. januar 2004 - 13:04 #6
jeg lavede det i sessions så får jeg ingen fejl men den sletter ikke noget
Avatar billede fet321 Nybegynder
11. januar 2004 - 13:08 #7
Det eneste du skal skrive i slet.php, er det jeg har skrevet. Du må ikke indsætte <HTML> osv... i filen.
Avatar billede fet321 Nybegynder
11. januar 2004 - 13:09 #8
Du må heller ikke udskrive noget med "echo".
Avatar billede nielschristiansen Nybegynder
11. januar 2004 - 13:13 #9
nej den er ikke helt god

Warning: Cannot add header information - headers already sent by (output started at /customers/haar-saksen.dk/haar-saksen.dk/httpd.www/upload/slet.php:2) in /customers/haar-saksen.dk/haar-saksen.dk/httpd.www/upload/slet.php on line 3

Warning: Cannot send session cookie - headers already sent by (output started at /customers/haar-saksen.dk/haar-saksen.dk/httpd.www/upload/slet.php:2) in /customers/haar-saksen.dk/haar-saksen.dk/httpd.www/upload/slet.php on line 5

Warning: Cannot send session cache limiter - headers already sent (output started at /customers/haar-saksen.dk/haar-saksen.dk/httpd.www/upload/slet.php:2) in /customers/haar-saksen.dk/haar-saksen.dk/httpd.www/upload/slet.php on line 5
her er koden i slet.php


<?php

session_start();
session_register($db);
$db = mysql_connect("localhost","bruger","kode");
mysql_select_db("pro",$db);
mysql_query("DELETE FROM haar_saksen_dk.pro WHERE id=".$_GET["id"].";");
mysql_close();
header("Location: vispro.php");
?>

<html>
<head>
</head>
<body>
</body>
</html>
Avatar billede fet321 Nybegynder
11. januar 2004 - 13:18 #10
HALLO - ingen html kode slet.php

fjern

<html>
<head>
</head>
<body>
</body>
</html>
Avatar billede fet321 Nybegynder
11. januar 2004 - 13:19 #11
kode slet.php = kode i slet.php
Avatar billede nielschristiansen Nybegynder
11. januar 2004 - 13:28 #12
Warning: Cannot add header information - headers already sent by (output started at /customers/haar-saksen.dk/haar-saksen.dk/httpd.www/upload/slet.php:2) in /customers/haar-saksen.dk/haar-saksen.dk/httpd.www/upload/slet.php on line 12

og koden

<?php





$db = mysql_connect("localhost","","");
mysql_select_db("pro",$db);
mysql_query("DELETE FROM haar_saksen_dk.pro WHERE id=".$_GET["id"].";");
mysql_close();
header("Location: index.php");

?>
Avatar billede fet321 Nybegynder
11. januar 2004 - 14:19 #13
Prøv lige at gem følgende som slet.php og fortæl hvad du får af fejl.

---
<?php

$conn = mysql_connect("localhost","","") or die("Kunne ikke forbinde til databasen");
mysql_select_db("pro",$conn) or die("Kunne ikke finde databasen");
$query = mysql_query("DELETE FROM haar_saksen_dk.pro WHERE id=".$_GET["id"].";");
if(!$query) {
    die("Kunne ikke finde noget at slette");
}
mysql_close();
header("Location: index.php");

?>
---
Avatar billede fet321 Nybegynder
11. januar 2004 - 14:19 #14
index.php = vispro.php
Avatar billede nielschristiansen Nybegynder
11. januar 2004 - 15:15 #15
Kunne ikke finde databasen
men det virker nu underligt for det er den sammen kode jeg bruger til at lægge data i databasen og det virker fint
Avatar billede fet321 Nybegynder
11. januar 2004 - 15:45 #16
Så prøv lige med:

---
<?php

$conn = mysql_connect("localhost","USER","PASS") or die("Kunne ikke forbinde til databasen");
mysql_select_db("pro",$conn) or die(mysql_error()) ;
$query = mysql_query("DELETE FROM haar_saksen_dk.pro WHERE id=".$_GET["id"].";");
if(!$query) {
    die("Kunne ikke finde noget at slette");
}
mysql_close();
header("Location: vispro.php");

?>
---
Avatar billede nielschristiansen Nybegynder
11. januar 2004 - 16:07 #17
Access denied for user: 'haar_saksen_dk@localhost' to database 'pro'
Avatar billede fet321 Nybegynder
11. januar 2004 - 16:11 #18
Hvis du bruger præcis samme database, bruger og password, som du bruger et andet sted, og det virker der, kan jeg ikke lige gennemskue det.

Prøv at lukke din db forbindelse - mysql_close(); - på vispro.php efter du har hevet data ud.
Avatar billede nielschristiansen Nybegynder
11. januar 2004 - 16:14 #19
ok det prøver jeg
Avatar billede nielschristiansen Nybegynder
11. januar 2004 - 16:17 #20
det ændre ikke noget men
den kode jeg bruger til at lægge noget i databasen ser sådan her ud

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Untitled</title>
</head>
<body>
<center>
<?

if(isset($_POST["navn"])){

{$db = mysql_connect("localhost","user","code");
mysql_select_db("pro",$db);
mysql_query("insert into haar_saksen_dk.pro(navn, beskriv, overskrift)values('$navn','$beskriv','$overskrift')");}
}
if($upload != 1){
echo "<FORM METHOD='POST' ACTION='$PHP_SELF' ENCTYPE='multipart/form-data'>
Overskrift:<br>
<input type='text' name='overskrift'><br>
beskriv:<br>
<textarea rows='20' cols='30' name='beskriv'></textarea><br>
billednavn:<br>
<input type='text' name='navn'><br>
<INPUT TYPE='file' NAME='file'><br>
<INPUT TYPE='submit'>
<INPUT TYPE='hidden' NAME='MAX_FILE_SIZE' VALUE='500000'>
<INPUT TYPE='hidden' NAME='upload' VALUE='1'>
</FORM>";
}

if($upload == 1){
$uploaddir=""; //. (SKAL VÆRE DER!!)
copy($file, $uploaddir.$file_name);
echo "Fil uploaded!
<FORM METHOD='POST' ACTION='$PHP_SELF'>
<INPUT TYPE='submit' VALUE='Upload flere filer'>
</FORM>";
}
?>
</center>
</body>
</html>
Avatar billede nielschristiansen Nybegynder
11. januar 2004 - 16:44 #21
nå men tak for hjælpen indtil vidre tror du ikke jeg måske skulle prøve at spørge i mysql forumet med hensyn til den forbindelse da jeg ikke kan se nogen fejl på den ?
Avatar billede fet321 Nybegynder
11. januar 2004 - 17:11 #22
Hvis du har udfyldt de tomme felter i
mysql_connect("localhost","","")
med de samme værdier, som fra det script, hvor det virker, kan jeg ikke se nogen fejl i php'en.

Tak for point.
Avatar billede nielschristiansen Nybegynder
11. januar 2004 - 18:08 #23
ja men det har jeg så jeg må spørge i mysql tak for hjælpen
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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