Avatar billede hmmhelpinghmm Nybegynder
01. juli 2004 - 16:14 Der er 20 kommentarer og
1 løsning

confirm? hvordan?

Jeg vil gerne have at når man skal slette sin bruger, så skal man "confirme" først, men jeg kan ikke finde ud af hvordan jeg gør, min fil er her:

delete_bruger.php

<form action="delete.php" method="post">
<P>

 
    <font size="2" face="Verdana, Arial, Helvetica, sans-serif">Email:*</font><br>
    <input name="mail" maxlength="50">
 
 
   
    <input name="opret" type="submit" value="Slet min bruger">    <input type="reset" value="Nulstil" name="Nulstil">
</P>
 
</form>

Den skal bare komme med det inden den skifter side!
Avatar billede lillebror Nybegynder
01. juli 2004 - 16:25 #1
Der skal du bruge en onBeforeSubmit="" og det er javascript, ikke php
Avatar billede hmmhelpinghmm Nybegynder
01. juli 2004 - 16:29 #2
sådan, det virker nemlige ikke!?
<form onBeforeSubmit="confirm('Vil du?')" action="delete.php" method="post">
Avatar billede Slettet bruger
01. juli 2004 - 16:33 #3
<input name="opret" type="submit" value="Slet min bruger" onClick="return confirm('Er du sikker på du vil slette din bruger?')">
Avatar billede iknowstuff Nybegynder
01. juli 2004 - 16:34 #4
når du skriver under php, vil jeg tro du vil kontrollere på klient og server..

din form:

<script type="text/javascript" language="javascript">
function areyousure(frm){

    if((ret = confirm("Er du sikker?")) == true)
        frm.confirm.value = "ok";

    return ret ? true : false;
}
</script>

<form action="delete.php" method="post" onsubmit="return areyousure(this)">
<P>
    <input name="confirm" value="" type="hidden">


    <font size="2" face="Verdana, Arial, Helvetica, sans-serif">Email:*</font><br>
    <input name="mail" maxlength="50">


 
    <input name="opret" type="submit" value="Slet min bruger">    <input type="reset" value="Nulstil"

name="Nulstil">
</P>

</form>



---------
delete.php:

<?php
$confirm = $_POST['confirm'];

if($confirm == "ok"){
    echo "Du er nu slettet";
}
?>
Avatar billede hmmhelpinghmm Nybegynder
01. juli 2004 - 16:36 #5
hvis jeg vil have det ind herefter:
if ( mysql_num_rows($result) == 1 ) {
return confirm('blabla?');

Kan det å lade sig gøre?
Avatar billede hmmhelpinghmm Nybegynder
01. juli 2004 - 16:50 #6
JEg får fejlen
Fatal error: Call to undefined function: confirm() in /free1go/f/r/www.friendscommunity.1go.dk/delete.php on line 14

på  return confirm("Er du sikker på du vil slette din bruger?");

i denne sammenhæng
$row = mysql_fetch_array($result);

  return confirm("Er du sikker på du vil slette din bruger?");

if (!preg_match("/^([\w|\.|\-|_]+)@([\w||\-|_]+)\.([\w|\.|\-|_]+)$/i", $_POST['mail'])) {
Avatar billede Slettet bruger
01. juli 2004 - 16:53 #7
<form action="delete.php" method="post">
  <P>
    <font size="2" face="Verdana, Arial, Helvetica, sans-serif">Email:*</font><br>
    <input name="mail" maxlength="50">
    <input name="opret" type="submit" value="Slet min bruger" onClick="return confirm('Er du sikker på du vil slette din bruger?')">    <input type="reset" value="Nulstil" name="Nulstil">
  </P>
</form>
Avatar billede hmmhelpinghmm Nybegynder
01. juli 2004 - 16:54 #8
ja men jeg vil indsætte den længere nede. Den skal først komme fter at den har tjeket om emailen er korrekt, indsatte den lige før email først, for at se om jeg kunne få det til at virke, men det kan jeg ikke!
Avatar billede hmmhelpinghmm Nybegynder
01. juli 2004 - 17:04 #9
Nu kommer boksen ved dette
  echo "<script type=\"text/javascript\">alert(\"Indtast venligst en GYLDIG email!!!\");history.go(-1)</script>"; 

men når man trykker annuler, så fortsætter scriptet!
Avatar billede Slettet bruger
01. juli 2004 - 17:10 #10
Du har først en form, hvori man kan indtaste sit brugernavn og vælge slet.
Ved at trykke slet, submittes formen til en PHP-fil der checker om brugernavnet er oprettet i databasen.
Herefter skal den så spørge om man er sikker på om man vil slette brugeren?

Har ikke tid til at komme med et færdigt forslag med det kan gøres på følgende måde:

Du laver en hidden værdi i din form (<input type="hidden" name="status" value="slet">

I delete.php checker du om $_POST['status'] == slet, er den det laver du et opslag i databasen, samt echoer en ny form til skærmen der fortæller om du er sikker. I denne form laver du en ny hidden værdi (<input type="hidden" name="status" value="bekraeft">.

I delete.php checker du om $_POST['status'] == "bekraeft", er den det, slettes brugeren og der echoes "Du er nu slettet" eks.

Delete.php
if ($_POST['status'] == "slet")
  {
    hvis brugeren findes
      {
        echo form
      }
    else
      {
        echo fejlmeddelse
      }
  }

if ($_POST['status'] == "bekraeft")
  {
    hvis brugeren findes
      {
        slet brugeren
        echo "Du er nu slettet"
      }
    else
      {
        echo fejlmeddelse
      }
  }
Avatar billede hmmhelpinghmm Nybegynder
01. juli 2004 - 17:14 #11
NEj duer ikke, for så mister jeg posterne fra den første side!
Avatar billede hmmhelpinghmm Nybegynder
01. juli 2004 - 17:16 #12
Nej glem det, den behøver ikke tjekke alligevel!
kfisker smid et svar

PS. hvad mente du med klient og server!?
Avatar billede Slettet bruger
01. juli 2004 - 17:17 #13
Ikke nødvendigvis. Hvis du ikke vil bruge sessions kan det gøres på følgende måde:

I din første form har du værdien:
<input name="mail" maxlength="50">

I den nye form du sender, hvor brugeren skal bekræfte at han/hun vil slettes gemmer du værdien i et skjult felt.
$bruger = $_POST['mail'];
<input type="hidden" name="bruger" value="$bruger">
Avatar billede Slettet bruger
01. juli 2004 - 17:18 #14
Det var nu iknowstuff, der skrev om klient/server, men han mener at du skal checke i delete.php at formen er afsendt korrekt.
Avatar billede Slettet bruger
01. juli 2004 - 17:19 #15
Det er de hårdeste 5 point jeg har tjent ;o)
Avatar billede hmmhelpinghmm Nybegynder
01. juli 2004 - 17:19 #16
Ja okay, men skal alligvel laves på mere sikker måde, man kan faktisk slette hinandens brugere i systemet, og det skal laves om!
SVAR

PS Stadig hvad mente du med klient og server?
Avatar billede hmmhelpinghmm Nybegynder
01. juli 2004 - 17:20 #17
Hi, okay, jeg har før været oppe på 136 kommentarer! den var drøjt!
Avatar billede hmmhelpinghmm Nybegynder
01. juli 2004 - 17:20 #18
det var drøjt*
Avatar billede Slettet bruger
01. juli 2004 - 17:20 #19
Ved at bruge mit forslag fra 16:53:02 vil brugeren blive spurgt, dog inden der checkes om brugeren findes i databasen. Så har de i hvertfald godkendt sletningen 2 gange inden de slettes.
Avatar billede Slettet bruger
01. juli 2004 - 17:21 #20
Du kan tilknytte et kodeord til hver bruger, som også skal indtastes inden brugeren kan slettes.
Avatar billede hmmhelpinghmm Nybegynder
01. juli 2004 - 17:28 #21
ja det ved jeg, de fårtilsendt en mail med link!, men man kan jo bare lave så de kan slette den når de er logget ind!
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