/ 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
Automatisk videresendelse
Fra : Jakob Rohde


Dato : 18-10-03 22:44

Hej,

Efter at brugeren har udfyldt en form sendes han videre til en ny side, som
udfører behandlingen af de indtastede data (opd. databasen). Hvordan kan jeg
automatisk sende brugeren videre til f.eks. forsiden? Evt. efter 10 sek.
ventetid, hvor man kan nå at læse, at opdateringen gik godt.

Jakob




 
 
Leonard (19-10-2003)
Kommentar
Fra : Leonard


Dato : 19-10-03 08:28

"Jakob Rohde" <jakob.rohde@nal.net.dk> wrote:

>Efter at brugeren har udfyldt en form sendes han videre til en ny side, som
>udfører behandlingen af de indtastede data (opd. databasen). Hvordan kan jeg
>automatisk sende brugeren videre til f.eks. forsiden? Evt. efter 10 sek.
>ventetid, hvor man kan nå at læse, at opdateringen gik godt.

I PHP uden forsinkelse:
header("location: videre.html");
forudsætter at der ikke skrives noget output inden.

I HTML med forsinkelse:
   <meta http-equiv="Refresh" content="10; url=videre.html">
10 er forsinkelsen, videre.html er adressen.
Skal selvfølgelig i <head>

--
med venlig hilsen
Leonard - http://leonard.dk/

Jakob Rohde (19-10-2003)
Kommentar
Fra : Jakob Rohde


Dato : 19-10-03 09:29

Tak for det! Det virker fint, men jeg kunne godt tænke mig at forfine det
lidt, således at man ikke sendes videre før opdateringen af databasen er
bekræftet. Det er lidt svært med denne metode - man bliver sendt videre
efter x sek. uanset hvad - eller hur?

Er der en PHP metode som kan stå hvor som helst? Noget i denne stil:

if database opdateret ok
indlæs side 'index.php'
else
indlæs side 'fejl.php'

Jakob

"Leonard" <dennemailerikketilspam@tdc-broadband.dk> skrev:

> I HTML med forsinkelse:
> <meta http-equiv="Refresh" content="10; url=videre.html">
> 10 er forsinkelsen, videre.html er adressen.
> Skal selvfølgelig i <head>




Johan Holst Nielsen (19-10-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 19-10-03 12:28

Jakob Rohde wrote:

> Tak for det! Det virker fint, men jeg kunne godt tænke mig at forfine det
> lidt, således at man ikke sendes videre før opdateringen af databasen er
> bekræftet. Det er lidt svært med denne metode - man bliver sendt videre
> efter x sek. uanset hvad - eller hur?
>
> Er der en PHP metode som kan stå hvor som helst? Noget i denne stil:
>
> if database opdateret ok
> indlæs side 'index.php'
> else
> indlæs side 'fejl.php'
>

Altså det er lidt forskelligt...

En mulighed kunne være

<?php
if(mysql_error()=='') { DATABASE OK }
?>

Den tjekker blot på om MySQL returnerede en fejl - ikke om den f.eks.
opdaterede et row med et "ugyldigt/ukendt ID"

Men hvis det handler om at der skal ændres noget i databasen - altså at
der sker en ændring kunne mysql_affected_rows() muligvis være til hjælp...


mvh
johan


Jakob Rohde (19-10-2003)
Kommentar
Fra : Jakob Rohde


Dato : 19-10-03 15:27

Hej Johan,

Tak, men det der er interessant er hvorledes jeg sender brugeren videre til
en ny side, afhængigt af resulatetet af nedenstående "if...".

Jakob


"Johan Holst Nielsen" <johan@weknowthewayout.com> skrev:

> En mulighed kunne være
>
> <?php
> if(mysql_error()=='') { DATABASE OK }
> ?>
>



Johan Holst Nielsen (19-10-2003)
Kommentar
Fra : Johan Holst Nielsen


Dato : 19-10-03 15:47

Jakob Rohde wrote:
> Hej Johan,
>
> Tak, men det der er interessant er hvorledes jeg sender brugeren videre til
> en ny side, afhængigt af resulatetet af nedenstående "if...".

Noget ala:

<?php
/*
ændre/opdater database
*/

if(mysql_error() == '') {
header('refresh:5; url=./fejl.php');
echo '<h3>Der skete en fejl - du vil blive redirected til en side med
mere information</h3>';
exit();
}
header('refresh:5; url=./index.php');
echo '<h3>Opdatering er sket - du vil blive redirected!</h3>';
?>

Måske noget ala ovenstående?

mvh
Johan

mvh
Johan


Leonard (19-10-2003)
Kommentar
Fra : Leonard


Dato : 19-10-03 15:55

"Jakob Rohde" <jakob.rohde@nal.net.dk> wrote:

>Tak, men det der er interessant er hvorledes jeg sender brugeren videre til
>en ny side, afhængigt af resulatetet af nedenstående "if...".

Sæt tingene samen:

if (...) {
header ("location: detgikgodt.php");
} else {
header (...

Det vigtige er at du ikke sender noget andet output ud før header, men
derfor kan linierne jo godt stå langt nede i dit script.

Og kig så lige på http://usenet.dk/netikette/citatteknik.html hvis du
vil have flere svar fra mig.
--
med venlig hilsen
Leonard - http://leonard.dk/

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408946
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste