Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

Redirect met vertraging

Pagina: 1
Acties:
  • 296 views sinds 30-01-2008

Verwijderd

Topicstarter
Hoi allemaal,

Ik heb een contactformulier gemaak met onderstaande code. Nu eindigt het script met:


PHP:
1
2
3
4
   mail($recipient, $subject, $mail_body, $header); 
    echo "<b>".$verstuurd."</b><br>U vulde deze gegevens in : <br><br>Naam: " . $_POST['name'] . "<br>Adres: " . $_POST['adres'] . "<br>Postcode: " . $_POST['postcode'] . "<br>Woonplaats: " . $_POST['woonplaats'] . "<br>E-mail: " . $_POST['uwemail'] . "<br>Tel.: " . $_POST['tel'] .  "<br>U wenst informatie over: " . $_POST['checkbox6'] . "" . $_POST['checkbox3'] . "" . $_POST['checkbox4'] . "" . $_POST['checkbox5'] . "" . $_POST['checkbox7'] . "<br>Opmerking/Vraag: " . $_POST['field'] . "<br><br>"; 
   
   echo "<a class=\"main\" href='javascript:history.back(1)'>Ga terug</a>"; //Bericht na het verzenden van de e-mail 


Ik had graag gewild dat van in plaats dat er een link "Ga terug" en de persoon erop moet klikken, en dan één pagina back gaat, deze automatich naar een andere pagina wordt redirected na 4 seconden.

Wie kan mij helpen.

Ik ben een novice, dus maak het niet te technisch.

Hartelijk dank.

Cossworth _/-\o_

[ Voor 7% gewijzigd door RobIII op 14-10-2007 17:53 ]


  • DoDo
  • Registratie: Juli 2001
  • Laatst online: 21:15
Zoek maar op Meta Refresh

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Als je code post, gebruik dan code tags.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • BCC
  • Registratie: Juli 2000
  • Laatst online: 21:10

BCC

Een HTTP 301 (redirect) sturen is mooier.
http://www.webconfs.com/how-to-redirect-a-webpage.php

[ Voor 40% gewijzigd door BCC op 14-10-2007 17:56 ]

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 24-09 20:59
Dit is helemaal niet mooier een 301 is namelijk een permanent redirect, m.a.w. je geeft hiermee aan dat de pagina permanent verplaatst is naar een andere locatie (url). Maar bij het posten van een formulier is dit niet het geval, de pagina is namelijk niet verplaatst, hij handelt het formulier namelijk af. Eventueel kan je na afhandeling van het formulier een redirect sturen naar een andere pagina idd. Maar doe dit dan met een 302 (Found) of 303 (See Other) header en niet met een 301!

Dit is ook niet eens wat de TS wil, want hij wil dat je pas geredirect wordt nadat je de melding hebt kunnen lezen dat je bericht verstuurd is. Afgezien van het feit of dit wenselijk is of niet, kan je het oplossen met een meta refresh of met een stukje JavaScript.

If I can't fix it, it ain't broken.


  • BCC
  • Registratie: Juli 2000
  • Laatst online: 21:10

BCC

Wat Boriz zegt is precies wat ik bedoelde, maar dan wat uitgebreider :).

[ Voor 9% gewijzigd door BCC op 14-10-2007 20:34 ]

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


Verwijderd

Topicstarter
He mannen, ik vind het tof dat jullie reageren maar echt geholpen ben ik nog niet. Welke oplossing is nu het best? 301, 302 of 303 of een meta fresh.

Feit is wel dat ik graag had als men de bevestiging ziet men de tijd krijgt om deze te lezen en dan na een aantal seconden weer ge-redirect wordt naar de intreoductiepagina. 8)7

Verwijderd

Topicstarter
Heren, ik heb op http://www.webconfs.com/how-to-redirect-a-webpage.php gekeken maar daar heb ik niets aan.

<?
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://www.new-url.com" );
?>

Dit heb al geprobeerd maar dan word men direct redirected. Wat ik wil is dat men de bevestiging van het formulier kan lezen en dan automatisch maaaaaaaar met vertraging wordt omgeleid.

Soms zie je op sites "uw wordt automatisch omgeleid na xx seconden. Dat is wat ik wil.

Groetjes en alvast bedankt, _/-\o_

Cossworth.

PS als jullie de code van het volledig formulier nodig hebben zeh het maar. |:(

  • ibmos2warp
  • Registratie: Januari 2007
  • Laatst online: 20-11-2023

ibmos2warp

Eval is Evil

Een redirect met javscript en voor de mensen die geen javascript aan hebben staan, gooi je er nog effe een meta refresh (Jah, refresh, met een atribuut naar de andere pagina, dus redirect) bij.

Edit:
(Dit is gewoon nog een beetje extra + uitleg) Je gaat kijken wat je wilt. Hier dus een redirect met een vertraging. Je ziet een php redirect, maar php verstuurt de headers gelijk, dus daar heb je niks aan. Ook is de pagina niet perminent verplaatst, hij is helemaal niet verplaatst.
Dan kom je een javascript refresh tegen, maar sommige mensen hebben geen javascript of niet aan staan, dus zoek je effe wat verder en zie je een meta refresh, die stop je er dan ook maar bij.
Oftwel, wij hebben geen enkele code nodig van jou, je kun alles zelf er bij zetten.
Let je er wel op dat bij php je geen short tags (<?) moet gebruiken maar <?php.

[ Voor 49% gewijzigd door ibmos2warp op 14-10-2007 21:40 ]

Ik weet alles van niks
Vind Excel ongelovelijk irritant.


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op zondag 14 oktober 2007 @ 21:25:
PS als jullie de code van het volledig formulier nodig hebben zeh het maar. |:(
Nee hoor ;) We zien hier graag enkel relevante code, en dat kun je zelf prima bepalen wat wél en wat niet relevant is. We zitten hier niet om een kant-en-klare oplossing voor je aan te dragen of voor te kauwen; je mag best zelf meedenken. Het juiste antwoord is overigens al lang gegeven; een meta-refresh moet prima doen wat jij wil. Daarnaast; Wij tweakers doen elkaar permanent de groeten ;)

[ Voor 10% gewijzigd door RobIII op 14-10-2007 22:29 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
_/-\o_ Gegroet mannen, excuseer dat ik jullie het gevoel geef dat ik wacht op kant en klare oplossingen, dat is echt niet zo. Maar ik ben iemand die alles zelf probeerd te bestuderen zonder programeringsachtergrond.

Enfin, ik heb de meta refresh toegepast.

meta http-equiv="refresh"
content="2;url=http://mijndomijn.be">

Echter refreshed de pagina na x seconden. Het probleem blijft dat als de mensen het formulier hebben ingevuld en op "submit" klikken eerst een confirmatiescherm krijgen met daarop de bevestiging van de ingevulde gegevens. Daaronder staat nu echo "<a class=\"main\" href='javascript:history.back(1)'>Ga terug</a>";

Alleen ga je dan één pagina terug. Ik wil juist dat ze dan worden redirected naar mijn introductiepagina.

Dus aub, svp, please kan iemand mij daarmee helpen.

Gegroet :*) *O*

  • BlackIce
  • Registratie: Oktober 2003
  • Laatst online: 15-11 10:36
Dan zet je er toch gewoon een link naar je home-pagina neer?
HTML:
1
<a href="http://domein.tld/index.php">Terug naar de home-page</a>

zoiets dus

  • ibmos2warp
  • Registratie: Januari 2007
  • Laatst online: 20-11-2023

ibmos2warp

Eval is Evil

Heel simpel, hetvolgende plak je in de head (of iig, waar de head zou zitten, in die string dus).
JavaScript:
1
2
3
4
5
6
7
8
9
10
<script type="text/javascript">
<!--
function redirect()
{
  window.location = "http://google.com" /*Hier plak je de url neer waar naar toe moet */
  window.setTimeout(update, 2000);
}

//-->
</script>

En dan wordt dit je body tag (als de joue er nog andere dingen bij heeft moet je die er ook bij stoppe):
HTML:
1
<body onload="redirect();">

En die link kan je gewoon verandere in een gewone link.

edit:
Moet het natuurlijk wel goed doen

[ Voor 40% gewijzigd door ibmos2warp op 15-10-2007 16:20 ]

Ik weet alles van niks
Vind Excel ongelovelijk irritant.


Verwijderd

Als je het zonder js wil, dan echo je gewoon de meta-refresh met de link naar de juiste pagina. Schematisch:
code:
1
2
3
4
5
6
7
8
9
10
<head>
  bla bla
<?php echo Refresh ?>
  bla bla
</head>
<body>
  bla bla
<?php echo Bevestiging gegevens ?>
  bla bla
</body>

Verwijderd

Topicstarter
Hartelijk dank ibmos2warp,

Echter heb ik overal de <body onload="redirect();">

proberen te plaatsen maar geen joy. Waar moet ik die juist plaatsen. ;(

Verwijderd

Topicstarter
Eigenlijk is het dezelfde functie als die op deze pagina wordt toegepast.

Je submit een bericht, je wordt redirected met een bevestiging en dan wordt automatisch redirected naar het forum. Dat is exact wat ik nodig heb!!!!!

Verwijderd

Topicstarter
Dit is de volledige code die ik heb gebruikt;
====================================

<?php
//Configureer//
$websitenaam = "Quan Clinic"; // Naam van de website
$subject = "*****Informatieaanvraag*****"; // onderwerp van het e-mailbericht
$voornaam = "Karel of Cindy"; // Je voornaam
$achternaam = "van der Linde"; // Dit veld mag je leeglaten
$recipient = "info@quanclinic.be"; // Naar welk e-mail adrs het moet worden verzonden
$verstuurd = "Beste, Uw bericht is verstuurd en zal zo spoedig mogelijk beantwoordt worden"; // Dit is het bericht wat na het verzenden weergegeven wordt


if(!empty($_POST['Submit']))
{
if(strlen($_POST['name']) == 0)
{ $error_msg ="U bent uw naam vergeten in te vullen klik op ga terug om dat alsnog te doen.<br>"; }
if(!ereg("^[_a-zA-Z0-9-]+(\.[*@([a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", $_POST['uwemail']))
{ $error_msg .="Om contact met u te kunnen opnemen moet u uw e-mail adres ingeven, klik op ga terug om dat alsnog te doen.<br>"; }

if(!empty($error_msg))
{
//Een van de velden werd niet (goed) ingevuld
echo "<b>Contact met ".$websitenaam." kon niet worden uitgevoerd door de volgende redenen:</b><br><br>";
echo $error_msg;
echo "<br>Klik alstublieft op <a href=javascript:history.back(1)>Ga terug</a> en vul alle velden in.<br><br>";
}
else
{
$subject = "".$subject.""; //Onderwerp van het e-mailtje
$header = "From: ". $_POST['name'] . "\n"; //Door wie die is verstuurd
$mail_body .= "Beste Karel en Cindy,\n\n"; //Inhoud van de mail
$mail_body .= "Iemand heeft op " . date("d-m-Y") . " om " . date("H:i") . " contact opgenomen met ".$websitenaam."\n\n";
$mail_body .= "De volgende persoon vulde het contact formulier in:\n\n"; //Inhoud van de mail
$mail_body .= "Naam: " . $_POST['name'] . "\n"; //Inhoud van de mail
$mail_body .= "Adres: " . $_POST['adres'] . "\n"; //Inhoud van de mail
$mail_body .= "Postcode: " . $_POST['postcode'] . "\n"; //Inhoud van de mail
$mail_body .= "Woonplaats: " . $_POST['woonplaats'] . "\n"; //Inhoud van de mail
$mail_body .= "E-mailadres: " . $_POST['uwemail'] . "\n"; //Inhoud van de mail
$mail_body .= "Telefoonnummer: " . $_POST['tel'] . "\n"; //Inhoud van de mail
$mail_body .= "Geslacht: " . $_POST['radiobutton'] . "\n"; //Inhoud van de mail
$mail_body .= "\n\n"; //Inhoud van de mail
$mail_body .= "Verzender wenst informatie over:\n";
$mail_body .= "" . $_POST['checkbox6'] . "\n"; //Inhoud van de mail
$mail_body .= "" . $_POST['checkbox3'] . "\n"; //Inhoud van de mail
$mail_body .= "" . $_POST['checkbox4'] . "\n"; //Inhoud van de mail
$mail_body .= "" . $_POST['checkbox5'] . "\n"; //Inhoud van de mail
$mail_body .= "" . $_POST['checkbox7'] . "\n\n"; //Inhoud van de mail
$mail_body .= "" . $_POST['checkbox'] . " \n\n"; //Inhoud van de mail
$mail_body .= "Opmerking/Vraag:\n\n"; //Inhoud van de mail
$mail_body .= $_POST['field']; //Inhoud van de mail
$mail_body .= "\n\n"; //Inhoud van de mail
$mail_body .= "U kunt conact opnemen met de verzender via dit e-mail adres : " . $_POST['uwemail'] . " "; //Inhoud van de mail

// --------------------
// spambot protectie
// ------
//
// ------

$headers = "From: " . $_POST['naam'] . " <" . $_POST['mail'] . ">";

$headers = stripslashes($headers);
$headers = str_replace("\n", "", $headers); // Verwijder \n
$headers = str_replace("\r", "", $headers); // Verwijder \r
$headers = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $headers)); // Slashes van quotes

$_POST['subject'] = str_replace("\n", "", $_POST['subject']); // Verwijder \n
$_POST['subject'] = str_replace("\r", "", $_POST['subject']); // Verwijder \r
$_POST['subject'] = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $_POST['subject'])); // Slashes van quotes

// einde spambot protectie
// -----------------------

mail($recipient, $subject, $mail_body, $header);
echo "<b>".$verstuurd."</b><br>U vulde deze gegevens in : <br><br>Naam: " . $_POST['name'] . "<br>Adres: " . $_POST['adres'] . "<br>Postcode: " . $_POST['postcode'] . "<br>Woonplaats: " . $_POST['woonplaats'] . "<br>E-mail: " . $_POST['uwemail'] . "<br>Tel.: " . $_POST['tel'] . "<br>U wenst informatie over: " . $_POST['checkbox6'] . "" . $_POST['checkbox3'] . "" . $_POST['checkbox4'] . "" . $_POST['checkbox5'] . "" . $_POST['checkbox7'] . "<br>Opmerking/Vraag: " . $_POST['field'] . "<br><br><br>";

echo "<a class=\"main\" href='javascript:history.back(1)'>Ga terug</a><br>"; //Bericht na het verzenden van de e-mail

}
}
else
{
?>

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Allemaal vieze meta en javascript voorbeelden, er is ook een 'gewone' header voor hoor.

Location stuurt je direct door, en bij Refresh kun je een aantal seconden opgeven:

PHP:
1
header("Refresh: 5; URL=index.php");

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Verwijderd

Topicstarter
Bedankt Grijze Vos,

Mar ik krijg dit error bericht;

Warning: Cannot add header information - headers already sent by (output started at /home/www/quanclinic/informatie_test.php:6)
in /home/www/quanclinic/informatie_test.php on line 272

Verwijderd

Tijd om een handleiding php/html te lezen.

De header() moet het aller eerste zijn wat je document verstuurd, als je dus eerst een berg html tags output krijg je die error.
emember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP.
http://nl3.php.net/header

[ Voor 34% gewijzigd door Verwijderd op 15-10-2007 18:30 ]


Verwijderd

Topicstarter
8)7

Eigenlijk is het dezelfde functie als die op deze pagina wordt toegepast.

Je verstuurt een bericht, je wordt redirected met een bevestiging en dan wordt automatisch terug geredirected naar het forum. Dat is exact wat ik nodig heb!!!!!


Let maar eens op als je reageerd op een item. Dat scriptje heb ik nodig.

Moderators van Tweakers, please help. _/-\o_

;( Please

Karel

[ Voor 21% gewijzigd door Verwijderd op 15-10-2007 20:06 ]


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Lees even goed wat hier wordt gezegd, want de oplossing staat er letterlijk!

Het lijkt me verstandiger dat dit topic dichtgaat, voordat het ontspoort. Lees rustig elke post door en code voorbeelden. Ga rustig uitproberen wat er gebeurt, krijg je foutmeldingen, kijk vervolgens hoe je die kan voorkomen of oplossen.

Dit topic gaat dicht.

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.

Pagina: 1

Dit topic is gesloten.