Avatar billede human Nybegynder
23. februar 2003 - 07:30 Der er 10 kommentarer og
2 løsninger

update!

Hejsa!

Jeg har lavet en lille delete funktion, men når man har trykket på linket "delete", så updater den ikke, dvs at indlæget først forsvinder når man har trykket refresh, synes det er ret irriterende!

Så hvordan klare jeg lige den? Det skal lige siges at linket ikke stiller videre til en anden side.

Sig hvis du ikke forstår hvad jeg mener :o)
Avatar billede 7th Praktikant
23. februar 2003 - 08:32 #1
Hmm nu ved jeg jo ikke hvordan du har opbygget din kode, men jeg bruger personligt en lille javascript kode til at redirecte, i mit tilfælde til "forrige" variabel i url, men det kan lige så godt være den nuværende url + variabler i url, hvis du forstår hvad jeg mener.

Hvis tryk på submitknap (din deletefunktion)
{
bla bla bla gør dit gør dat, slet post...
og
echo "<script>location.href='index.php?section=news'</script>";
}

så får jeg automatisk opdateret min oversigt.
Avatar billede mufoxe Nybegynder
23. februar 2003 - 08:41 #2
Du kan udføre delete på en anden side og så fyre en Header("Location") af, så du bliver redirectet tilbage til den oprindelige side, hvor man klikkede på delete linket.
Avatar billede emileej Nybegynder
23. februar 2003 - 09:17 #3
Jeg plejer at bruge header tricket - det andet er lidt nasty :)
Ala:
<?php
$originalUrl="http://www.eksperten.dk/spm/320664";
if(IsSet($doDelete)){
    deletePost($postId);
    header("Location: $originalUrl");
    exit(); //Husk den så du ikke kommert til at sende mere
}
?>

Bemærk endvidere at det er en meget god idé at gøre dette konsekvent - også selvom man bruger post, da dataerne ellers - når bugeren opdaterer browseren - risikerer at blive sendt igen.
Som eksempel kan du tage eksperten - jeg tør vædde på at de bruger precis denne metode.

E-)mil
Avatar billede olebole Juniormester
23. februar 2003 - 13:54 #4
<ole>

Joohh tak ... hvor tit har man ikke fået at vide af sin browser, at response.php ikke kan findes, når man har prøvet at lave en post her på E  ;o)

human >> Du kan f.eks. lave en sådan response.php til at tage sig af alle inserts, updates og deletes. Så skriver du et par hidden fields i din form:
  <input type="hidden" name="db_action" value="insert">
  <input type="hidden" name="redir_page" value="<?=$_SERVER[PHP_SELF]?>">

I dit response.php kan du så skrive noget à la:

if ( isset($_POST["db_action"]) && $_POST["db_action"]<>"" ) {
  switch( $_POST["db_action"] ) {
    case "delete":
      $sql = "delete from ...... osv ...";
      mysql_query( $sql );
      Header( "Location: $_POST[redir_page]" );
      exit;

    case "update":
      // update kode
      Header( "Location: $_POST[redir_page]" );
      exit;

    case "insert":
      // insert kode
      Header( "Location: $_POST[redir_page]" );
      exit;

    default:
      print "Denne funktion kunne ikke udføres.<br>\n";
      print "<a href=\"".$_POST["redir_page"]."\">Tilbage</a>";
      exit;
  }
}

/mvh
</bole>
Avatar billede human Nybegynder
23. februar 2003 - 15:00 #5
emileej: Kan du ikke lige uddybe det.. Er ikke meget vant til at bruge header.

Er det en seperat fil der skal indeholde det der eller hvad? Og skal jeg skrive mere kode et sted?
Avatar billede olebole Juniormester
23. februar 2003 - 15:11 #6
Vi er to, der har vist dig, hvad du skal skrive ... prøv det. Ellers er der ikke megen grund til at skrive eksempler til dig  :)
/mvh
Avatar billede human Nybegynder
23. februar 2003 - 15:15 #7
Og når jeg siger jeg ikke forstår det betyder det i skal uddybe det hvis i vil have poing.

Jeg har har gaestebog.php som den eneste fil, i den fil kan der ikke skirves til GB'en, kun slettes.
Avatar billede emileej Nybegynder
23. februar 2003 - 15:43 #8
Hvis du vil mades med ske er du altså nødsaget til at poste din kode eller i det mindste et link her...
Avatar billede human Nybegynder
23. februar 2003 - 23:41 #9
Nå skidt pyt, fandt ud af det :o)

Læste lige hvad mufoxe sagde og så forstod jeg det, ante ikke hvad header("location: ); var ...

Well, det gør jeg nu!

I skal have tak

Olebole smid et svar for indsatsen!
Avatar billede olebole Juniormester
23. februar 2003 - 23:55 #10
svar
Avatar billede olebole Juniormester
23. februar 2003 - 23:56 #11
ups ...
Avatar billede human Nybegynder
23. februar 2003 - 23:56 #12
flot :P
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