Contact Form "Succes messenge" op dezelfde pagina

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

- Ariën  -
Beheerder

- Ariën -

19/10/2015 20:58:19
Quote Anchor link
Is het niet zinvoller om ook echt goed te weten dat het script doet?
Want in het eerste codeblok (gebruik a.u.b. de codetags in het forum) toon je alleen het formulier als deze verzonden zal zijn, wat dus niet kan.
Een kwestie van de accolades ( { en } ) even goed neerzetten, zoals in mijn voorbeeld.

Het tweede code-voorbeeld in je post met $_REQUEST is de slechtste manier die je kan verzinnen, omdat $_REQUEST onbetrouwbaar is.

Verder om te voorkomen dat een mail als spam wordt gemarkeerd, voldoet het om de juiste headers te tonen:
http://phpwiki.santhe.nl/index.php?title=De_juiste_mailheaders
 
PHP hulp

PHP hulp

23/12/2024 18:43:51
 
Harry Peters

Harry Peters

19/10/2015 20:59:45
Quote Anchor link
Kun je mijn script volledig eens aanpassen?


Toevoeging op 19/10/2015 21:00:02:

en mijn vragen die ik erin wil hebben ?
 
- Ariën  -
Beheerder

- Ariën -

19/10/2015 21:06:08
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
if($_SERVER['REQUEST_METHOD']=="POST") {
    // plaats hier je afhandeling, zoals je invoervalidaties.
    // als deze allemaal voldoen, dan kan je hier de mail versturen.
    // Het is raadzaam om hierbij de headers te gebruiken welke uit:
    // http://phpwiki.santhe.nl/index.php?title=De_juiste_mailheaders komen.

} else {
?>

Plaats hier je formulier
<?php
}
?>
 

20/10/2015 09:43:26
Quote Anchor link
Stop alsjeblieft met het in elkaar wringen van templates en php code.

Je kan de php code en formulier het beste apart hebben.
Ook kan je beter fuot afhandeling e.d in doen en bijvoorbeeld een functie maken.

Maar wat Aar opgeeft is echt student level PHP. Het kan veel netter en mooier. En niet met een if else constructie.

En probeer ook een template engine te gebruiken. Maar in gods name stop met die vreselijke combinatie PHP en HTML samen te voegen.
 
- Ariën  -
Beheerder

- Ariën -

20/10/2015 09:54:33
Quote Anchor link
Ik zie dit als een 'best practice' voor de beginner, en zeker niet als een 'student level'. Het laat zien hoe je onderscheid kan maken in het formulier en de afhandeling in PHP. Je zou het formulier zelfs direct bovenaan kunnen plaatsen zonder die else. Maar goed, het is net wat je wilt.

Dat jij over template-engines begint is al behoorlijk 'over the top' voor een beginner.
Template-systemen zijn leuk voor een framework of een gemiddelde website, maar hier spreken we gewoon van een scriptje. What's next? Een compleet MVC-framework ;-)?
Gewijzigd op 20/10/2015 09:55:30 door - Ariën -
 

20/10/2015 10:11:10
Quote Anchor link
Gene procudurele php meer voorschotelen.
Gewoon een nette oplossing, in C# e.d kan je ook geen procudureel schrijven.

Het is alsof je eerst Engels aanleert en dan moeten switchen naar Deens.

Middels de template engine is het heel simpel.
- Code die de template ophaalt
- Variabelen defineren
- HTML schrijven

Simpel toch?

Nu krijg je alles in elkaar gedraaid en weet ik veel wat.

MVC is mooi gescheiden, houdt het overzichtelijk en de student die aan het leren is php het schrijven behoudt het overzicht.

Met een structuur oplossing kan je ook aangeven hoe onderscheidt te maken.

Maar wat jij misschien niet ziet of snapt is dat deze "scriptjes" bij elkaar gegooid worden en een website vormen.
 
- Ariën  -
Beheerder

- Ariën -

20/10/2015 10:22:28
Quote Anchor link
Misschien is het beter als je eerst eens naar de kennis kijkt die de topicstarter heeft.
MCV, templates en afhaken van procudurele PHP is gewoon een 'no-go' voor beginners. Zorg dan liever dat je een half-jaar tot jaar goede ervaring hebt opgedaan.
Gewijzigd op 20/10/2015 10:43:35 door - Ariën -
 

20/10/2015 10:37:52
Quote Anchor link
Heb ik gezien, dat is Joomla.
Maar zorg dan dat je het formulier netjes returned ipv een if else constructie.

En MVC en alles is echt wel een go, collega's die al langer in het vak lopen zweren erbij.
Bijna iedereen die OOP doet.
Maargoed we dwalen af..

Ik vindt dat het zo moet. Dan is het netjes en gescheiden.. zoals het hoort naar mijn weten.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
if($_SERVER['REQUEST_METHOD'] === "POST") {
    // plaats hier je afhandeling, zoals je invoervalidaties.
    // Gebruik PHPMailer vooe emailberichten
    // Gebruik Verot Upload class voor bestands afhandeling
    
    // Is er een error waardoor het formulier weer getoond moet worden?

    if($error) {
        echo include('hierformulier.php');
    }

?>


Op deze manier heb je gescheiden code maar toch in 1 bestand staan, toch?
 
- Ariën  -
Beheerder

- Ariën -

20/10/2015 10:42:47
Quote Anchor link
In mijn geval was het ook één bestand.
Maar laten we de topicstarter vanaf nu maar helpen met zijn probleem.
 
Harry Peters

Harry Peters

20/10/2015 10:48:32
Quote Anchor link
Ik heb nu 2 bestandjes en dat werkt perfect, het moet nu nog samen worden gevoegd of het moet los?
Ik heb nu de echo op een aparte pagina en ik heb een return ingevuld na een aantal seconden terug naar het form maar ik wil graag of de melding onder het form of eerst de echo en dan form weer leeg, want nu heb ik het form op een plekje op de pagina staan en krijg ik geheel nieuwe pagina met de form te zien en zie ik de rest van de pagina erom heen niet meer omdat het een nieuwe pagina met de echo word.
 

20/10/2015 10:49:29
Quote Anchor link
Klopt, dat had je ook.
Alleen heb ik 2 files.
En heb ik de logica gescheiden.

Formulier (HTML) staat in een apart bestand.
Logica voor validaties en uploaden e.d staat ook in een apart bestand.

Dan is het MVC, zonder model dan, van toepassing.

Hopelijk heeft TS hier iets aan.

Toevoeging op 20/10/2015 13:27:13:

Harry, kan je de code die je nu hebt posten?
Dan kijken we even of we je aanwijzingen kunnen geven en desnoods een voorbeeldje.
 

Pagina: « vorige 1 2



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.