Popup na submit

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Yoeri Achterbergen

Yoeri Achterbergen

01/05/2014 14:36:01
Quote Anchor link
Beste,

Ben bezig met een contact formulier. Het verzenden van de email en de ajax werkt.
Nu wil ik dat boven het contact formulier als het succesvol is verzoden een soort van popup verschijnt.
Zelf heb ik dit geporbeerd:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php if ( !$success ) echo "<script type="text/javascript\">".
        "alert('success');".
        "</script>";" ?>


Helaas geeft hij aan dat er iets mis gaat.
Is dit mogelijk wat ik wil doen?

Gr Yoeri
 
PHP hulp

PHP hulp

11/07/2020 00:11:26
 
- Ariën -
Beheerder

- Ariën -

01/05/2014 14:38:23
Quote Anchor link
Kijk eens naar je quotes. Je grbuikt een double-quote in je 'double-quoted echo', en dat maakt PHP in verwarring.

Trouwens... Is het echt nodig? Je kan toch ook een normale melding tonen?
Ikzelf heb altijd hekel aan alerts en popups.
 
Michael -

Michael -

01/05/2014 14:39:16
Quote Anchor link
Wat bedoel je met een 'popup'? Je doet nu een poging om een javascript alert weer te geven. Dat zal ik m'n bezoekers sowieso niet aan.
Maak een div en style deze als een popup.
 
- SanThe -

- SanThe -

01/05/2014 14:39:20
Quote Anchor link
Waarom wil je 'success' zeggen bij !$success (= NOT $success)?
Gebruik enkele quotes bij echo en dubbele in de html.
 
Yoeri Achterbergen

Yoeri Achterbergen

01/05/2014 14:49:24
Quote Anchor link
Sorry ik leg het verkeerd uit.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if ( $success ) echo "<p>Bericht is succesvol verzonden.</p>" ?>

dit is wat ik nu heb als code. Omdat de php in een andere directory word geladen gaat hij na een submit succes na de php file toe en is dat een witte pagina met de tekst"Bericht is succesvol verzonden".

wat ik is dat deze echo terug naar de juiste html pagina word doorgestuurd.(terwijl deze in een andere directory staat)
 
- Pepijn  -

- Pepijn -

01/05/2014 14:52:57
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if ( !$success )
{

    echo '<script>alert("success");</script>';
}

?>

Maar, waarom een alert, dat is vervelend voor bezoekers.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if ( !$success )
{

    echo '<div id="success">Uw formulier is successvol verstuurd!</div>';
}

?>

Owh, en de style voor #success, moet zelf maakbaar zijn ;)
 
Michael -

Michael -

01/05/2014 14:55:19
Quote Anchor link
> Het verzenden van de email en de ajax werkt.
> wat ik is dat deze echo terug naar de juiste html pagina word doorgestuurd.(terwijl deze in een andere directory staat)

Je kunt gewoon de data die je van Ajax terug krijgt weergeven in een div. Als je op de pagina die je met ajax post die success melding weergeeft, krijg je die terug als data.
 
- Pepijn  -

- Pepijn -

01/05/2014 15:02:35
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
if ( !$success )
{


    echo "<script>window.open('Pagina Waar melding staat');</script>";

}

?>
Gewijzigd op 01/05/2014 15:03:33 door - Pepijn -
 
Yoeri Achterbergen

Yoeri Achterbergen

01/05/2014 15:38:47
Quote Anchor link
Bedankt voor de reactie's.
Heb beide geprobeerd maar niet zoals ik verwacht.
Ik heb een html pagina die contact.html heet.

Deze staat in de directory'contactpage'

De ajax word opgeroepen door:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<script src="http://www.test.com/site/scripts/jslibs/ajaxcontactbox1.js" type="text/javascript"></script>


de php die word opgeroepen staat in de directory: root/site/scripts/php/send.php

zodra er op zend word gedrukt gaat hij naar de file send.php (omdat hier alles word aangestuurd)
nu wil ik dat echo's die ook in send.php staan op de contact.html worden weergegeven.
 
Michael -

Michael -

01/05/2014 15:40:23
Quote Anchor link
> nu wil ik dat echo's die ook in send.php staan op de contact.html worden weergegeven.

Hoe denk je PHP te gebruiken in een .html bestand?
 
Chris PHP

Chris PHP

01/05/2014 15:42:38
Quote Anchor link
@Michael,

Helemaal met je eens, wanneer php voorkomt gaat de voorkeur uit naar .php extentie. Je kunt uiteraard een iframe gebruiken en daar je php pagina inladen, maar nogmaals voorkeur gaat uit naar .php extentie dus ik zou zeggen renamen.
 
Willem vp

Willem vp

01/05/2014 15:59:29
Quote Anchor link
Michael - op 01/05/2014 15:40:23:
Hoe denk je PHP te gebruiken in een .html bestand?

Nou, gewoon, dit opnemen in je .htaccess of httpd.conf:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<FilesMatch \.html$>
    SetHandler application/x-httpd-php
</FilesMatch>

Isse ziempel. ;-)
Gewijzigd op 01/05/2014 16:00:35 door Willem vp
 
- Ariën -
Beheerder

- Ariën -

01/05/2014 16:11:00
Quote Anchor link
Een rewriterule was zinvoller geweest zodat je PHP niet onnodig belast.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
RewriteEngine on
RewriteBase /
RewriteRule ^(.*)\.php$ $1.html
 
Willem vp

Willem vp

01/05/2014 16:15:09
Quote Anchor link
Maar als je .php rewrite naar .html wordt je PHP-code toch niet meer uitgevoerd?

Toevoeging op 01/05/2014 16:16:58:

Overigens hou ik er zelf niet van om extensies .php en .html te mixen. Ook wanneer ik pure HTML zou hebben gooi ik dat in een .php-bestand. Wat dat betreft is er dus qua belasting geen verschil wanneer alle .html-bestanden ook door de PHP-handler gaan.

Een ander punt van alle .html als PHP verwerken is ook dat je niet meteen weggeeft dat je PHP gebruikt om je site te genereren.
Gewijzigd op 01/05/2014 16:18:11 door Willem vp
 
Yoeri Achterbergen

Yoeri Achterbergen

01/05/2014 16:34:20
Quote Anchor link
Ik ben al geholpen als ik de echo kan omleiden :)
Dan maak ik een div aan en ben ik tevreden.
 
- Ariën -
Beheerder

- Ariën -

01/05/2014 16:37:29
Quote Anchor link
Willem vp op 01/05/2014 16:15:09:
Maar als je .php rewrite naar .html wordt je PHP-code toch niet meer uitgevoerd?

Jawel hoor. het is geen redirect of iets dergelijks, gewoon een modificering van de URL.
 
- Pepijn  -

- Pepijn -

01/05/2014 18:08:13
Quote Anchor link
Licht het nou aan mij of ben ik gek, een echo omleiden?
In PHP is een echo functie een functie om iets te schrijven, bijvoorbeeld echo 'kaas'; weergeeft kaas.
In html kan je net zo goed plain kaas geven ;) Waarom zou je moeiten doen om een echo in html te maken.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

01/05/2014 18:47:49
Quote Anchor link
Yoeri,

Als ik het allemaal zo eens lees maak je het nodeloos ingewikkeld. Er bestaat iets als 'goede gebruiken' in de wereld van programmeren.

Laten we bij het begin beginnen.

- bestanden waar php code in voorkomt geef je ten aller tijde de extensie .php. (ongeacht wat er wel of niet mogelijk is)
- als je een php bestand maakt met een contactformulier - laten we zeggen contact.php - dan blijf je op die pagina totdat alles goed is ingevuld door de gebruiker. Dus je zorgt binnen deze pagina voor de validatie, de eventuele foutmeldingen en de html van het formulier. Ook zorg je op deze pagina dat het formulier per email verstuurd wordt en/of gegevens in de database worden opgeslagen.
Pas als dat allemaal gebeurd is geef je eventueel een redirect naar een andere pagina. De taak is dan immers volbracht. een redirect url kan ook zijn: 'send.php?status=success'. Aan de hand van die status kun je dan in send.php (mag ook send.html zijn) een popup of een alert tonen.

Moet al die code dan per se in één fysiek bestand staan?
Nee. Je kunt gebruik maken van functies of klassen die in andere bestanden staan. deze bestanden moet je dan als eerste met require_once '...'; includen.
 



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.