/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Advarselsknap ved sletning i db
Fra : Nederbasse


Dato : 03-11-05 19:09

Hej

Jeg har lavet en side hvor man kan slette en record i en mysql db
ID i db'en er lavet til et link på siden og når man klikker på linket
slettes recorden i databasen, det er fint nok men jeg kunne godt tænke mig
der kom en box op der spurgte om man var sikker på man vil slette ( lidt
windows style ) kan dette laves ?

LarsN



 
 
Jeppe Christensen (03-11-2005)
Kommentar
Fra : Jeppe Christensen


Dato : 03-11-05 19:43

> windows style ) kan dette laves ?
>
> LarsN
>

Hejsa LarsN

Dette kan sagtens laves men det er ikke php du skal bruge til dette formål.
Men istedet i javascript.

Dit link skal se således ud:

<a href=\"javascript: if (confirm('Vil du slette denne
Nyhed??')){location.href='slet.php?id=$id;}\">

mvh. Jeppe Christensen

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Christoffer Kjeldgaa~ (03-11-2005)
Kommentar
Fra : Christoffer Kjeldgaa~


Dato : 03-11-05 21:09

Jeppe Christensen skrev:
> <a href=\"javascript: if (confirm('Vil du slette denne
> Nyhed??')){location.href='slet.php?id=$id;}\">

Det link vil dog ikke virke, hvis JavaScript ikke er slået til. Det kan
selvfølgelig være udmærket, hvis man *skal* acceptere sletningen i en
boks. Ellers kan dette bruges:

<a href="slet.php?id=$id" onclick="return confirm('Vil du slette denne
nyhed?');">Slet</a>

--
Christoffer Kjeldgaard Petersen
http://www.sappy.dk/

Per Thomsen (04-11-2005)
Kommentar
Fra : Per Thomsen


Dato : 04-11-05 12:30

Nederbasse wrote:
> Hej
>
> Jeg har lavet en side hvor man kan slette en record i en mysql db
> ID i db'en er lavet til et link på siden og når man klikker på linket
> slettes recorden i databasen, det er fint nok men jeg kunne godt tænke mig
> der kom en box op der spurgte om man var sikker på man vil slette ( lidt
> windows style ) kan dette laves ?
>
> LarsN
>
>

Det mest sikre er nok slet ikke at anvende JavaScript, du kan så ikke få
det som en 'box der kommer op', men du kan da bare style løs, så det
kommer til at ligne :)

Her er et hurtigt utestet skelet:

<?php
function getConfirmation($id, $referer) {
$form = <<<FORM
<form method="post" action="{$_SERVER['PHP_SELF']}">
<input type="hidden" name="id" value="{$id}" />
<input type="hidden" name="referer" value="{$referer}"/>
<table>
<tr>
<td colspan="2">
Er du sikker p&aring; at du vil slette r&aelig;kken,
hvor id="{$id}"?
</td>
</tr>
<tr>
<td>
<input type="submit" name="confirm" value="Ja"/>
</td>
<td style="text-align: right;">
<input type="submit" name="confirm" value="Nej"/>
</td>
</tr>
</table>
</form>
FORM;
   return $form;
}

function getClosure($id, $referer) {
$closure = <<<CLOSURE
R&aelig;kken med id="{$id}" er slettet!<br/>
<a href="{$referer}">Tilbage</a>
CLOSURE;
   return $closure;
}

function deleteRecord($id) {
   // Fyld selv denne.
}

if( strcasecmp($_SERVER['REQUEST_METHOD'],'post')==0 ) {
   if( (isset($_POST['confirm'])) &&
    (strcmp($_POST['confirm'],'Ja')==0) ) {
      $id = $_POST['id'];
      $referer = $_POST['referer'];
      deleteRecord($id);         
      echo getClosure($id, $referer);         
   } else {
      $referer = $_POST['referer'];
      header('Location: '.$referer);
   }
} else {
   $referer = $_SERVER['HTTP_REFERER'];
   $id = $_GET['id'];
   echo getConfirmation($id, $referer);
}
?>

Der er selvfølgelig andre og sikkert også bedre måder at gøre det på,
men ovenstående burde da give dig en idé, du kan arbejde ud fra.

Jeg er f.eks. ikke sikker på at $_SERVER['HTTP_REFERER'] altid er
udfyldt, men så kunne man overveje at sende den med som parameter til
slet.php. F.eks:
<a href="slet.php?id=3&referer=migselv.php">Slet</a>

MVH Per Thomsen,
http://www.pert.dk/

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste