Na formulier verzenden terug naar website

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior, Medior and Junior SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Veldhoven Vacature ID: 12696 Introductie Our client is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. Wat verwachten we van jou? SAP Certified Application Associate - SAP HANA Cloud Modeling (training and/or certification) Bachelor degree or higher Excellent understanding of SAP HANA (2.0 / Cloud), Data Modelling and writing

Bekijk vacature »

Martijn van Opstal

Martijn van Opstal

23/07/2010 16:06:46
Quote Anchor link
Hallo allemaal,

Ik heb het volgende probleem:

Heb een eenvouding formulier gemaakt, en dit formulier wordt behandeld in een php file...:

<form method="post" action="FormulierAfhandeling.php">
Formulierblabla
</form>

In het bestand formulierafhandeling.php staat het volgende script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?

$VoorLetters
= $_POST['VoorLetters'];
$AchterNaam = $_POST['AchterNaam'];
$StraatNaam = $_POST['StraatNaam'];
$HuisNummer = $_POST['HuisNummer'];
$PostCode = $_POST['PostCode'];
$TelefoonNummer = $_POST['TelefoonNummer'];
$EmailAdres = $_POST['EmailAdres'];
$ReserveringsData  = $_POST['ReserveringsData'];
$OpMerkingen = $_POST['OpMerkingen'];
$varri = "thankyou.html";

$formsent = mail('[email protected]',
        'Gegevens afkomstig van reserveren.html',
        "Naam: $VoorLetters $AchterNaam\r\n
        Emailadres: $EmailAdres
        Straatnaam: $StraatNaam
        Huisnr: $HuisNummer
        Postcode: $PostCode
        Telefoonnummer: $TelefoonNummer
        Gewenste reserveringsdata: $ReserveringsData
        Opmerkingen: $OpMerkingen"
,
        "From: $EmailAdres\r\nBounce-to: [email protected]");
        
if ($formsent) {echo header('Location: http://www.gasthausemlade.com/thankyou.html');                          
            exit();
        }
else{
// Als het verzenden niet is gelukt, meld dat
            $aErrors['fout'] = 'Helaas, het bericht kon niet worden verzonden. Probeer het later nog eens.';
        }

?>


Nou wil ik dat na het gedeelte 'if ($formsent)' dat hij daarna de bezoeker, na het klikken op verzenden, doorstuurt naar de pagina thankyou.html, maar krijg de volgende foutmelding:

Warning: Cannot modify header information - headers already sent by (output started at /home/p19165/domains/gasthausemlade.com/public_html/FormulierAfhandeling.php:9) in /home/p19165/domains/gasthausemlade.com/public_html/FormulierAfhandeling.php on line 33

HELP!, heb hier en daar al gezocht, maar kom er niet uit...
 
PHP hulp

PHP hulp

20/04/2024 07:39:09
 
TJVB tvb

TJVB tvb

23/07/2010 16:15:54
Quote Anchor link
De error zegt het al, je hebt op regel 9 al output (html,spatie,enter etc.)
En je hebt op regel 33 de header functie staan. Dat mag niet, er mag geen output zijn voor het aanroepen van de header.
 
Obelix Idefix

Obelix Idefix

23/07/2010 16:47:22
Quote Anchor link
Moet je de echo niet weglaten op regel 26?
 
Pieter van Linschoten

Pieter van Linschoten

23/07/2010 21:56:15
Quote Anchor link
Je header echoën is inderdaad geen beste manier om het werkende te krijgen.
 
S Prince

S Prince

24/07/2010 02:50:02
Quote Anchor link
gebruik javascript om je locatie te veranderen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
        
if ($formsent) {echo "<script>window.location = 'http://www.gasthausemlade.com/thankyou.html'</script>";                          
            exit();
        }
else{
?>
 
Lars Groot

Lars Groot

24/07/2010 09:30:57
Quote Anchor link
En wat als ik nu JavaScript uitzet in m'n browser?
Juist ja, dan word je dus niet doorgelinkt ;)

Gebruik daarom altijd een meta refresh.
Zie hier:
http://www.mijnhomepage.nl/htmlcursus/redirect.php

Dat werkt met bijna alle browsers.

Veel succes,

Lars
 
Noppes Homeland

Noppes Homeland

24/07/2010 10:04:17
Quote Anchor link
De oplossing van
- S Prince
- Lars Groot

zijn omslachtig en overbodig, indien je de header('Location: ') op de juiste manier implementeerd
 
S Prince

S Prince

24/07/2010 13:08:25
Quote Anchor link
Het zou natuurlijk wel handig zijn moest Noppes Homeland, de juiste implementatie weergeven...
 
Joren de Wit

Joren de Wit

24/07/2010 13:10:55
Quote Anchor link
Dat is al twee keer eerder gemeld: je moet header() niet echoën, het is een op zichzelf staande functie...
 
S Prince

S Prince

24/07/2010 13:18:45
Quote Anchor link
Is het ook geen probleem als er al html gebruikt is voor de php code?



Lars,
Javascript zal bij de meeste computers wel aanstaan, vele drukbezochte websites gebruiken tenslotte toch ook ajax wat gebaseerd is op javascript...
Groetjes
 
Joren de Wit

Joren de Wit

24/07/2010 13:21:12
Quote Anchor link
S Prince op 24/07/2010 13:18:45:
Is het ook geen probleem als er al html gebruikt is voor de php code?

Ja, dat is wel een probleem. In dat geval zal je header() een foutmelding geven.

Maar dat betekent niet dat het gebruik van header() de fout is, maar dat er ergens anders een probleem zit. De opbouw van het script klopt dan niet aangezien je PHP code altijd uit wilt voeren voordat je ook maar enige output naar de browser verstuurt...
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.