(PHP) Mailbericht na verzenden echoën in nieuwe pagina

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • floriske.nl
  • Registratie: Januari 2002
  • Laatst online: 16-09 20:12

floriske.nl

Wie ik? Echt niet!

Topicstarter
ik heb een script opgezet dat op een gegeven ogenblik een e-mail bericht verzend:

nu wil ik de inhoud van dit bericht ($message) indien het verzenden gelukt is weergeven in een nieuwe pagina, maar krijg dit niet voor elkaar.

dus met:
code:
1
if(mail($email,$subject,$message,$headers))


wil ik index.php?subpage=mailbericht aanroepen en in deze pagina moet de inhoud van de mail weergegeven worden.

Ben niet zo'n held in php, maar weet me er vaak met enig zoekwerk goed uit te redden, maar ik zit hiermee echt muurvast :X

iemand?

Edit: het liefst zonder gebruik van cookies

[ Voor 21% gewijzigd door floriske.nl op 03-11-2008 14:36 ]


Acties:
  • 0 Henk 'm!

  • KC_Kaas
  • Registratie: Mei 2003
  • Niet online
Via post de gegevens doorsturen naar de volgende webpagina?

Je kan ook een sessie aanmaken en de gegevens opslaan op de server (in een DB bijvoorbeeld).

Acties:
  • 0 Henk 'm!

  • floriske.nl
  • Registratie: Januari 2002
  • Laatst online: 16-09 20:12

floriske.nl

Wie ik? Echt niet!

Topicstarter
KC_Kaas schreef op vrijdag 31 oktober 2008 @ 15:37:
Via post de gegevens doorsturen naar de volgende webpagina?

Je kan ook een sessie aanmaken en de gegevens opslaan op de server (in een DB bijvoorbeeld).
en hoe kan ik deze gegevens via post doorsturen? Hoe Post met een formulier werkt weet ik, maar hoe kan ik data direct posten zonder tussenkomst van een formulier en submit knop?

Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 14:53

MueR

Admin Tweakers Discord

is niet lief

Zoals KC_Kaas zegt, via een sessie doen. Je kan (hard way) via http headers een post request uitzetten, maar daar zou ik me, als ik jouw kennis van PHP een beetje inschat uit dit topic, niet aan wagen.

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

  • floriske.nl
  • Registratie: Januari 2002
  • Laatst online: 16-09 20:12

floriske.nl

Wie ik? Echt niet!

Topicstarter
MueR schreef op vrijdag 31 oktober 2008 @ 16:00:
Zoals KC_Kaas zegt, via een sessie doen. Je kan (hard way) via http headers een post request uitzetten, maar daar zou ik me, als ik jouw kennis van PHP een beetje inschat uit dit topic, niet aan wagen.
ik weet het, mijn php kennis is niet heel erg groot, maar ik wil de data graag doorsturen zonder gebruik te maken van cookies en bij een sessie is dit toch niet mogelijk of wel?

Acties:
  • 0 Henk 'm!

  • sky-
  • Registratie: November 2005
  • Niet online

sky-

qn nna 👌

Een sessie is ook een cookie hoor. Alleen dan opgeslagen op de server ;).

session_start();

Voordat je doorstuurt naar een nieuwe pagina :
$_SESSION['tMessage'] = $message;

En dan op de volgende pagina :
echo $_SESSION['tMessage'];

Daar moet je dan ook session_start() gebruiken :)

don't be afraid of machines, be afraid of the people who build and train them.


Acties:
  • 0 Henk 'm!

  • KC_Kaas
  • Registratie: Mei 2003
  • Niet online
Je kan ook sessies gebruiken zonder cookies, dan komt het sessie-id in de URL als variabele. Dit vind ik persoonlijk wel minder netjes.

Ik zou gaan voor sessies icm cookies. Dit is de meest nette oplossing, bovendien lijkt het me handig als je klanten (gebruikers) kan tracken.

Hoe maak je nu onderscheidt tussen de verschillende gebruikers? Ik neem aan dat ze ergens toch zouden moeten inloggen e.d. Misschien kan je daar gebruik van maken?
sky- schreef op vrijdag 31 oktober 2008 @ 16:10:
Een sessie is ook een cookie hoor. Alleen dan opgeslagen op de server ;).

session_start();

Voordat je doorstuurt naar een nieuwe pagina :
$_SESSION['tMessage'] = $message;

En dan op de volgende pagina :
echo $_SESSION['tMessage'];

Daar moet je dan ook session_start() gebruiken :)
Sessie plaatsen naar mijn weten ook altijd een cookie met een ID (of dus in de URL). De rest van de data staat wel server-sided. Persoonlijk gebruik ik alleen altijd het ID, de rest van de data plaats ik in de DB

[ Voor 40% gewijzigd door KC_Kaas op 31-10-2008 16:12 ]


Acties:
  • 0 Henk 'm!

  • floriske.nl
  • Registratie: Januari 2002
  • Laatst online: 16-09 20:12

floriske.nl

Wie ik? Echt niet!

Topicstarter
_/-\o_

We zijn er bijna :D

heb nu in het eerste document:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$message = "
Contactpersoon: $contactpersoon

Adres: $adres
Postcode en plaats: $postcodeplaats

Telefoonnummer privé: $telnr
Mobiel nummer: $mobnr

E-mail adres: $mailadres

etc. etc.
";

           if(mail($email,$subject,$message,$headers))
        {
        session_start();
        $_SESSION['mailbericht'] = $message;
        header("Location: ../index2.php?page=mailbericht");
        }


en in het tweede:

code:
1
2
session_start();
echo $_SESSION['mailbericht'];


Alleen omdat $message geen linebreaks bevat (zend de mail als plain text) is wordt het geheel zonder returns weergegeven:

Contactpersoon: $contactpersoon Adres: $adres Postcode en plaats: $postcodeplaats Telefoonnummer privé: $telnr Mobiel nummer: $mobnr E-mail adres: $mailadres etc. etc.

nog ff met echo nl2br aan de slag dus

[ Voor 6% gewijzigd door floriske.nl op 03-11-2008 13:03 ]


Acties:
  • 0 Henk 'm!

  • doeternietoe
  • Registratie: November 2004
  • Laatst online: 20-09 17:02
Die newlines zijn er wel, alleen je browser laat ze niet zien. Bij html heb je een <br /> nodig voor een newline en die voegt nl2br() automatisch toe :)

[ Voor 14% gewijzigd door doeternietoe op 31-10-2008 16:32 ]


Acties:
  • 0 Henk 'm!

  • floriske.nl
  • Registratie: Januari 2002
  • Laatst online: 16-09 20:12

floriske.nl

Wie ik? Echt niet!

Topicstarter
Thx allen, het werkt en ik heb weer heel wat geleerd vandaag :D

[ Voor 71% gewijzigd door floriske.nl op 03-11-2008 13:04 ]


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 14:53

MueR

Admin Tweakers Discord

is niet lief

Slotjes gaan niet op een topic omdat ze zijn opgelost. Iemand zoals jij die hier lang rondloopt zou dat ondertussen moeten weten. Ook is dit wel erg basic :/ Misschien eerst een cursus PHP gaan volgen voordat je verder gaat met ontwikkelen?

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

  • floriske.nl
  • Registratie: Januari 2002
  • Laatst online: 16-09 20:12

floriske.nl

Wie ik? Echt niet!

Topicstarter
MueR schreef op vrijdag 31 oktober 2008 @ 18:21:
Slotjes gaan niet op een topic omdat ze zijn opgelost. Iemand zoals jij die hier lang rondloopt zou dat ondertussen moeten weten. Ook is dit wel erg basic :/ Misschien eerst een cursus PHP gaan volgen voordat je verder gaat met ontwikkelen?
Iemand die hier al zo lang rond loopt weet ook dat jaren geleden dit soort commentaar niet gegeven werd en we hier waren om elkaar te helpen, ook met simpele zaken in plaats van maar op elkaar te gaan liggen mopperen als iemand eens iets vraagt wat voor een ander heel simpel is/lijkt!

Maar gelukkig zijn er ook nog mensen die wel helpen zonder commentaar ook al gaat het om iets eenvoudigs _/-\o_

En wat betreft die cursus PHP, beetje omslachtig als je alleen met een aantal basisfuncties werkt en zo heel af en toe eens tegen iets nieuws aanloopt!

NOFI maar moest het even kwijt!

[ Voor 7% gewijzigd door floriske.nl op 31-10-2008 20:46 ]


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 14:53

MueR

Admin Tweakers Discord

is niet lief

Ik raad je een cursus PHP aan om jezelf te beschermen hoor. Mensen die net met PHP beginnen maken vaak gruwelijke fouten, waardoor er nogal wat leaks en bugs in hun scripts zitten, die vervolgens weer gebruikt kunnen worden door exploiters, bijvoorbeeld als spambot. Sessies zijn een behoorlijk essentieel onderdeel van veel applicaties die je zal gaan maken in PHP, en het is dus belangijk dat je ze goed leert begrijpen. Met alleen een specifiek probleem oplossen op laten lossen wordt je nog niks wijzer.

Dat "beetje omslachtig" is dus niet zo omslachtig als het lijkt, maar eerder broodnodig. Er zijn genoeg mensen naief genoeg om bijvoorbeeld phpfreakz als geweldige leerbron beschouwen. Dat is het ook, maar dan voornamelijk voor hoe het niet moet.

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

  • TJHeuvel
  • Registratie: Mei 2008
  • Niet online
Waarom wil je eigenlijk dat bericht per se op een andere pagina laten zien?

Freelance Unity3D developer


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 15:14

Creepy

Tactical Espionage Splatterer

floriske.nl schreef op vrijdag 31 oktober 2008 @ 20:39:
[...]


Iemand die hier al zo lang rond loopt weet ook dat jaren geleden dit soort commentaar niet gegeven werd en we hier waren om elkaar te helpen, ook met simpele zaken in plaats van maar op elkaar te gaan liggen mopperen als iemand eens iets vraagt wat voor een ander heel simpel is/lijkt!
Ach, het is hier ook al jaren de gewoonte dat je jezelf zou moeten verdiepen in iets voordat je een vraag stelt. Dat lijkt je nu voor het gemak maar te vergeten ;)
Maar gelukkig zijn er ook nog mensen die wel helpen zonder commentaar ook al gaat het om iets eenvoudigs _/-\o_
Let er wel op dat GoT geen helpdesk is en ook in het verleden niet is geweest....
En wat betreft die cursus PHP, beetje omslachtig als je alleen met een aantal basisfuncties werkt en zo heel af en toe eens tegen iets nieuws aanloopt!

NOFI maar moest het even kwijt!
Dit moet ik ook kwijt: neem de tip van Muer van ten harte, ook hij probeert je toch echt alleen maar te helpen. Wat je nu vraagt is namelijk echt basiskennis van PHP.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • floriske.nl
  • Registratie: Januari 2002
  • Laatst online: 16-09 20:12

floriske.nl

Wie ik? Echt niet!

Topicstarter
MueR schreef op zaterdag 01 november 2008 @ 00:53:
Ik raad je een cursus PHP aan om jezelf te beschermen hoor. Mensen die net met PHP beginnen maken vaak gruwelijke fouten, waardoor er nogal wat leaks en bugs in hun scripts zitten, die vervolgens weer gebruikt kunnen worden door exploiters, bijvoorbeeld als spambot. Sessies zijn een behoorlijk essentieel onderdeel van veel applicaties die je zal gaan maken in PHP, en het is dus belangijk dat je ze goed leert begrijpen. Met alleen een specifiek probleem oplossen op laten lossen wordt je nog niks wijzer.

Dat "beetje omslachtig" is dus niet zo omslachtig als het lijkt, maar eerder broodnodig. Er zijn genoeg mensen naief genoeg om bijvoorbeeld phpfreakz als geweldige leerbron beschouwen. Dat is het ook, maar dan voornamelijk voor hoe het niet moet.
Daarin heb je helemaal gelijk, maar ik ben ook helemaal niet van plan om applicaties te gaan schrijven, dit laat ik aan anderen over ;)
Het gaat in dit geval om een simpel Formulier dat d.m.v. php verzonden wordt en waarvan de inhoud ter controle direct nogmaals aan de gebruiker getoond wordt.
CyCloneNL schreef op zaterdag 01 november 2008 @ 01:24:
Waarom wil je eigenlijk dat bericht per se op een andere pagina laten zien?
Ter controle voor degene die het verzonden heeft dus.
Creepy schreef op zaterdag 01 november 2008 @ 01:28:
[...]

Ach, het is hier ook al jaren de gewoonte dat je jezelf zou moeten verdiepen in iets voordat je een vraag stelt. Dat lijkt je nu voor het gemak maar te vergeten ;)

[...]
floriske.nl schreef op vrijdag 31 oktober 2008 @ 15:13:
[...]

Ben niet zo'n held in php, maar weet me er vaak met enig zoekwerk goed uit te redden, maar ik zit hiermee echt muurvast :X

[...]
Niet vervelend bedoelt, maar ik heb echt wel gezocht (en daar kan jij niet over oordelen aangezien je niet weet of ik dit gedaan heb) en veel gevonden, maar alleen maar zeer uitgebreide zaken en niet de eenvoud die uit dit topic is gerold .

Achteraf is het inderdaad zo dat ik wellicht met de verkeerde steekwoorden aan het zoeken ben geslagen, maar ja, achteraf is alles makkelijker!

....excuses voor mijn tè algemene negatieve uitlating die hier stond, zie edit voor een aangepaste versie...

@ibmos2warp hieronder: mail injections had ik al rekening mee gehouden in het oorspronkelijke script, ik controleer of het om een POST request gaat, alle data die in de header verwerkt wordt op linebreaks en alle ingevoerde data op diverse header injections.

edit:
maar even een edit in plaats van reply omdat ik dit topic niet weer bovenaan wil hebben, maar gezien reacties van enkele gebruikers hier zal ik het onderdeel "Programming" vanaf nu zoveel mogelijk mijden en jullie niet meer lastig vallen.

Dit aangezien het door sommigen schijnbaar niet gewaardeerd wordt dat ik een dergelijke vraag op GOT post (en niet op phpfreakz o.i.d.) omdat ik het idee had dat hier de juiste kennis aanwezig is om me te helpen.
Schijnbaar worden beginners of mensen die niet 24/7 ergens mee bezig zijn (welke jullie liever direct als "n00bs" omschrijven) in dit subforum niet gewaardeerd

@degenen die ontopic gebleven zijn en niet meteen het woord n00b aan het rondslingeren gegaan zijn: iig thx voor jullie hulp en tips _/-\o_

[ Voor 65% gewijzigd door floriske.nl op 03-11-2008 14:50 ]


Acties:
  • 0 Henk 'm!

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

ibmos2warp

Eval is Evil

floriske.nl schreef op zondag 02 november 2008 @ 15:29:
[...]
Daarin heb je helemaal gelijk, maar ik ben ook helemaal niet van plan om applicaties te gaan schrijven, dit laat ik aan anderen over ;)
Het gaat in dit geval om een simpel Formulier dat d.m.v. php verzonden wordt en waarvan de inhoud ter controle direct nogmaals aan de gebruiker getoond wordt.
Dan is enig basiskennis toch wel handig. Php staat veel toe, en moppert niet.... Je moet ook effe opletten dat je geen mail injections krijgt ([google]php mail injections[/google]).
floriske.nl schreef op zondag 02 november 2008 @ 15:29:
[...]
Niet vervelend bedoelt, maar ik heb echt wel gezocht (en daar kan jij niet over oordelen aangezien je niet weet of ik dit gedaan heb) en veel gevonden, maar niet een dusvoudige opzet als uit dit topic is gerold
Sessie's is basis php ;).
floriske.nl schreef op zondag 02 november 2008 @ 15:29:Maar goed, de afhandeling van- en reacties op dit topic geven maar weer precies aan hoe de mentaliteit op GOT de laatste jaren wel degelijk veranderd is en waarom mijn postcount zo drastisch afgenomen is. :X
Naja, anders krijg je van die troep zoals op phphulp.nl of phpfreakz.nl waar noobs echt alles gaan vragen...
Dan is het gewoon nog simpeler om een link naar een tutorial te posten dan echt te gaan helpen.
Maar ik raad jou ook een tutorial aan, persoonlijk vind ik: PHP Beginnershandleiding goed.

Ik weet alles van niks
Vind Excel ongelovelijk irritant.


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Om even in te haken op het doel van waarom je dit nodig denkt te hebben: waarom perse een nieuwe pagina? Das namelijk nergens voor nodig, geef die melding gewoon weer op dezelfde pagina als je nu gebruikt. Nu moet je namelijk een cookie misbruiken omdat je niet helemaal kunt omgaan met PHP.

En een basiscursus PHP is echt geen overbodige luxe als je dergelijke constructies nodig hebt dus ;) En als je de mentaliteit op GoT niet kan waarderen, dan zoek je toch een forum voor n00bs?
Pagina: 1