Toon posts:

Redirect in contact.php

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

Verwijderd

Topicstarter
Hoi,

sinds kort gebruik ik een contact pagina , de code is als volgt :

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<? 
// geef e-mail adres op van ontvanger 
$mail_ontv = "MIJN EMAIL ADRES !!";

// is niet 100% !!! 
function checkmail($mail) 
{ 
    $email_host = explode("@", $mail); 
    $email_host = $email_host['1']; 
    $email_resolved = gethostbyname($email_host); 

    if ($email_resolved != $email_host && eregi("^[0-9a-z]([-_.~]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$mail)) 
        $valid = 1; 

    return $valid; 
} 

// als er niet op submit is gedrukt, of als er wel op is gedrukt maar niet alles ingevoerd is 
if (!$_POST['submit'] || $_POST['submit'] && (!$_POST['naam'] || !$_POST['mail'] || !checkmail($_POST['mail']) || !$_POST['msggs'] || !$_POST['onderwerp'])) 
{ 
    if ($_POST['submit'] && (!$_POST['naam'] || !$_POST['mail'] || !checkmail($_POST['mail']) || !$_POST['msggs'] || !$_POST['onderwerp']))   
    { 
        echo "Je bent je naam, e-mail adres, onderwerp of bericht vergeten in te vullen. Ook kan het zijn "; 
        echo "dat je een verkeerd e-mail adres hebt ingevuld.<p>"; 
    } 
      
    // form + tabel 
    echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"; 
    echo "<form method=\"POST\" ACTION=\"" . $_SERVER['PHP_SELF'] . "\">"; 
      
    // naam 
    echo "<tr><td>Naam:</td></tr>"; 
    echo "<tr><td><input type=\"text\" name=\"naam\" value=\"" . $_POST['naam'] . "\"></td></tr>"; 
      
    // space 
    echo "<tr><td>&nbsp;</td></tr>"; 
      
    // mail 
    echo "<tr><td>E-mail adres:</td></tr>"; 
    echo "<tr><td><input type=\"text\" name=\"mail\" value=\"" . $_POST['mail'] . "\"></td></tr>"; 
      
    // space 
    echo "<tr><td>&nbsp;</td></tr>"; 
      
    // mail 
    echo "<tr><td>Onderwerp:</td></tr>"; 
    echo "<tr><td><input type=\"text\" name=\"onderwerp\" value=\"" . $_POST['onderwerp'] . "\"></td></tr>"; 
      
    // space 
    echo "<tr><td>&nbsp;</td></tr>"; 
      
    // mail 
    echo "<tr><td>Bericht:</td></tr>"; 
    echo "<tr><td><TEXTAREA name=\"msggs\" ROWS=\"6\" COLS=\"45\">" . htmlentities($_POST['msggs']) . "</TEXTAREA></td></tr>"; 
      
    // space 
    echo "<tr><td>&nbsp;</td></tr>"; 
      
    // button 
    echo "<tr><td>&nbsp;</td></tr>"; 
    echo "<tr><td><input type=\"submit\" name=\"submit\" value=\"Versturen\"></td></tr>"; 
      
    // sluit form + tabel 
    echo "</form>"; 
    echo "</table>"; 
} 
// versturen naar 
else 
{      
    // set datum 
    $datum = date("d.m.Y H:i"); 
      
    // set ip 
    $ip = $_SERVER['REMOTE_ADDR']; 
      
    $inhoud_mail = "===================================================\n"; 
    $inhoud_mail .= "Ingevulde contact formulier\n"; 
    $inhoud_mail .= "===================================================\n\n"; 
      
    $inhoud_mail .= "Naam: " . $_POST['naam'] . "\n"; 
    $inhoud_mail .= "E-mail adres: " . $_POST['mail'] . "\n"; 
    $inhoud_mail .= "Bericht:\n"; 
    $inhoud_mail .= $_POST['msggs'] . "\n\n"; 
      
    $inhoud_mail .= "Verstuurd op $datum via het ip " . $ip . "\n\n"; 
      
    $inhoud_mail .= "===================================================\n\n"; 
    
    // -------------------- 
    // 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['onderwerp'] = str_replace("\n", "", $_POST['onderwerp']); // Verwijder \n 
    $_POST['onderwerp'] = str_replace("\r", "", $_POST['onderwerp']); // Verwijder \r 
    $_POST['onderwerp'] = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $_POST['onderwerp'])); // Slashes van quotes 
     
    mail($mail_ontv, $_POST['onderwerp'], $inhoud_mail, $headers); 
     
    echo "<h1>Je e-mail is verstuurd</h1>";
    
    echo "<p>Bedankt voor het versturen van een e-mail. Je zult snel een antwoord "; 
    echo "krijgen indien dit nodig is.</p>"; 
     
    echo "<p>We nemen alles serieus en zullen vertrouwelijk omgaan met de informatie "; 
    echo "die we binnen krijgen. Je e-mail adres zal nooit aan derden worden verstrekt.</p>"; 
} 
?>


Nu blijft dit op dezelfde pagina, maar hoe kan ik iets veranderen in het script dat die naar : bedankt.php gaat i.p.v. op dezelfde pagina te blijven.

Het script is live te volgen op : http://82.73.37.19/web/mail/contact.php

Alvast bedankt.

Verwijderd

Regels 108 t/m 114 vervangen door:
PHP:
1
2
header ( 'Location: http://www.example.com/bedankt.php' );
exit ();

Verwijderd

Met
PHP:
1
header("Location: http://www.example.com/")

:?

Even googlen op redirect php en je had het zo gevonden... Was je sneller klaargeweest dan nu, had je niet een heel topic hoeven openen :+

[ Voor 55% gewijzigd door Verwijderd op 02-11-2006 21:44 ]


  • mithras
  • Registratie: Maart 2003
  • Niet online
Het is ook wel "leuk" om een header te sturen met een delay:
PHP:
1
2
echo '<p>Je e-mail is verstuurd, je wordt doorgestuurd naar een <a href="http://www.example.com/">andere pagina</a>.</p>';
header("refresh:2;url=http://www.example.com/");


offtopic:
Maar dit is wel erg basic, Google of op php.net was makkelijker

Verwijderd

Mithras86 schreef op donderdag 02 november 2006 @ 21:46:
Het is ook wel "leuk" om een header te sturen met een delay.
Zodat mensen nog even vlug een waarschuwing te zien krijgen als ze op de back knop rammen?

Verwijderd

Topicstarter
Verwijderd schreef op donderdag 02 november 2006 @ 21:42:
Regels 108 t/m 114 vervangen door:
PHP:
1
2
header ( 'Location: http://www.example.com/bedankt.php' );
exit ();
dit heb ik er zo ingezet, maar dan is de pagina niet meer opvraagbaar... ( de contact pagina )

maar er moest alleen :

code:
1
$header ( 'Location: http://www.example.com/bedankt.php' );


erin gezet worden, wordt er dan iets ingevuld en verstuurt gaat die NIET naar de bedankt.php pagina.

hij blijft op contact.php staan.

[ Voor 169% gewijzigd door Verwijderd op 03-11-2006 16:04 ]


Verwijderd

Ja, ok, de PHP tags moet je dan natuurlijk niet overnemen. Ik mag toch wel aannemen dat je dát nog wel begrijpt als je met PHP aan de gang gaat?

  • Rock-Y
  • Registratie: Juni 2006
  • Laatst online: 30-10-2025
types gevalletje van copy paste....

haal regel 108 en 111 maar eens weg ;)

  • momania
  • Registratie: Mei 2000
  • Laatst online: 11:31

momania

iPhone 30! Bam!

Zonder de <?php en ?> natuurlijk! 8)7

Iets zegt me dat je dit 'scripje' ergens vandaan hebt en je totaal geen idee hebt waar je mee bezig bent.

Neem je whisky mee, is het te weinig... *zucht*


Verwijderd

Topicstarter
YES het werkt.

TOP bedankt allemaal... :)

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Kom op, dit kun je echt zelf wel vinden. [google=php redirect] staat bol van de antwoorden op je vraag, en als je dan nog <?php-tags op gaat nemen binnen <?php-tags, dan getuigt dat voor mij van het feit dat je geen idee hebt waar je mee bezig bent en domweg maar dingen aan het kopiëren/plakken bent. Hier op GoT verwachten we iets meer eigen inzet van je dan dat. ;)

Daarnaast zit je hier ook nog eens verkeerd, iets wat je geweten zou hebben als je de moeite had genomen om Waar hoort mijn topic? te lezen. :)

Al met al reden genoeg om dit topic te sluiten.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.