Avatar billede danielic Nybegynder
05. januar 2006 - 22:26 Der er 13 kommentarer og
1 løsning

Slet en post, med et input felt?

Hej Experter.

Jeg er ved at lave et mail system sådan at folk fra min hp kan sende mails til mig.
Det forgår sådan her:
De skriver dater i en form og sender den.
Jeg modtager daterne i min mysql database
Jeg udskriver daterne på en password sikkret side.
Nu kommer det så, jeg vil gerne kunne slette de mails jeg modtager, uden jeg skal ind i phpmyadmin...

jeg har to filer.

Her kommer laas_mail.php


<?php

include "rediger.php";

if($_POST[knap] =='slet'){
slet_vare($_POST[id], $_POST[besked]);}

mysql_connect("localhost","danielic_dk","Password");
mysql_select_db("danielic_dk");

$foresp = mysql_query("SELECT dato, fra, besked, ang FROM mail ORDER BY dato");

echo "<table style='font-size:11px; font-family:arial; border:1px solid #4682B4'>";
while($data = mysql_fetch_array($foresp)){
echo "<tr><td>";
echo $data["fra"];
echo "</td> <td align='right'>";
echo $data["dato"];
echo "</td> </tr> <td>";
echo $data["ang"];
echo "</td></tr> <td>";
echo $data["besked"];
echo "<BR>";
echo "<input type='submit' name='knap' value='Slet'>";
echo "<BR><HR color='#000000' size='1px'>";
echo "</td></tr>";
}
?>

Og så rediger.php
<?php
function slet_mail($id, $besked){
mysql_query("DELETE FROM mail"."WHERE id = $id"."AND besked = '$besked'");}
?>


Det er det der står i min bog jeg skal gøre, men det virker ik.
Jeg har vel lavet en fejl i koden.

Nogle der kan skrive den rigtige kode til mig?

I for lige et tak forud betalt :)

//Daniel
Avatar billede hav0k Nybegynder
05. januar 2006 - 22:32 #1
For mig at se så ser flg linie lidt underlig ud:

mysql_query("DELETE FROM mail"."WHERE id = $id"."AND besked = '$besked'");}

ville skrive

mysql_query("DELETE FROM mail WHERE id = '$id' AND besked = '$besked'");}

i stedet.

Kommer der overhovedet ikke noget frem, eller - hvornår sker fejlen?
Avatar billede hav0k Nybegynder
05. januar 2006 - 22:34 #2
Har du også husket at deklarere slet_vare(); funktionen?
Avatar billede danielic Nybegynder
05. januar 2006 - 22:49 #3
Hmm jeg ville også have skrevet
mysql_query("DELETE FROM mail WHERE id = '$id' AND besked = '$besked'");
Men i min bog stod der noget andet, og da jeg ikke er for god til det så tog jeg det fra bogen...

Hvad mener du når du skriver "deklarere slet_vare(); funktionen"?

Jeg er lige begyndt på det der med php, mysql og functioner så jeg er ik så skramb til det endnu...
Avatar billede jaw Nybegynder
05. januar 2006 - 22:53 #4
Prøv lige:

<?php

include "rediger.php";

if($_POST[knap] =='slet'){
slet_vare($_POST[id]);}

mysql_connect("localhost","danielic_dk","Password");
mysql_select_db("danielic_dk");

$foresp = mysql_query("SELECT dato, fra, besked, ang FROM mail ORDER BY dato");

echo "<form action='".$_SERVER['PHP_SELF']."' method='post'>";
echo "<input type='hidden' name='id' value='".$_POST['id']."'>";
echo "<table style='font-size:11px; font-family:arial; border:1px solid #4682B4'>";
while($data = mysql_fetch_array($foresp)){
echo "<tr><td>";
echo $data["fra"];
echo "</td> <td align='right'>";
echo $data["dato"];
echo "</td> </tr> <td>";
echo $data["ang"];
echo "</td></tr> <td>";
echo $data["besked"];
echo "<BR>";
echo "<a href='".$
echo "<BR><HR color='#000000' size='1px'>";
echo "</td></tr>";
echo "</table>";
echo "</form>";
}
?>

Og så rediger.php
<?php
function slet_mail($id){
mysql_query("DELETE FROM mail"."WHERE id = $id");}
?>
Avatar billede ldanielsen Nybegynder
05. januar 2006 - 23:06 #5
Funktionen der sletter hedder slet_mail, men du kalder en der hedder slet_vare
Avatar billede hav0k Nybegynder
05. januar 2006 - 23:09 #6
Det jeg mente var sådan set om du havde lavet funktionen slet_vare noget sted :)

For i rediger.php ser det ud til at du har lavet en der hedder slet_mail, men når du kalder funktionen oppe i toppen af laas mail.php så kalder du en der hedder slet_vare - lur mig om ikke det er den samme funktion du taler om? Hvis det er tilfældet så bare omdøb den ene af den så den hedder det samme som den anden ;)

Fx

slet_vare($_POST[id]);}  ->  slet_mail($_POST[id]);}
Avatar billede hav0k Nybegynder
05. januar 2006 - 23:09 #7
ah der var jeg vist lidt for langsom i optrækket :D
Avatar billede ldanielsen Nybegynder
05. januar 2006 - 23:12 #8
hav0k > Næ hov, det så du jo faktisk allerede kl 22:34:41, gjorde du ikke :o)
Avatar billede ldanielsen Nybegynder
05. januar 2006 - 23:20 #9
Det er godt nok mange point for så lidt, hvis det altså virker, så vi kan måske dele. Men jeg har desværre ikke tid mere ...
Avatar billede danielic Nybegynder
06. januar 2006 - 23:54 #10
Beklaer guter, men jeg har fikset problemet...

Jeg brugte lige hovdet :-)

Tak fordi i prøvede på at hjælp mig :)

LUKKET

//Daniel
Avatar billede jaw Nybegynder
06. januar 2006 - 23:56 #11
Og hvordan så? Det er altid god skik at smide sin løsning...

Og selv tak.
Avatar billede hav0k Nybegynder
07. januar 2006 - 00:05 #12
Yes så lidt.. Men må give jaw ret - altid rart at vide hvad den fejlede - på den måde får andre der søger på dit spørgsmål også noget ud af det ;)
Avatar billede hav0k Nybegynder
07. januar 2006 - 00:06 #13
Hvis du i øvrigt vil lukke spørgsmålet, så skal du smide et svar som du selv skal acceptere =)
Avatar billede danielic Nybegynder
07. januar 2006 - 20:46 #14
ok
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
Computerworld tilbyder specialiserede kurser i database-management

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