Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[PHP & Javascript] MsgBox voor header()

Pagina: 1
Acties:

  • Rvanlaak
  • Registratie: Juni 2005
  • Laatst online: 10:48
Ik ben op dit moment een website aan het maken en stuit op een probleem dat ik wel snap, maar dat ik zelf niet zou weten op te lossen. Wat ik wil, dat is dat ik eerst een javascript messagebox krijg voordat ik de header() functie in php aanroep. Hieronder een stukje van de code:


PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$gemaild = mail($row_getNaam['email'], $subject, $message, $headers);

//Versturen van confirm voordat de header wordt gestuurd
if ($gemaild == true) {echo '<SCRIPT LANGUAGE="JavaScript"> alert ("Er is een bevestigingsmail gestuurd naar '.$naam.'") </SCRIPT>';}
else {echo '<SCRIPT LANGUAGE="JavaScript"> alert ("Er is GEEN bevestigingsmail gestuurd naar '.$naam.'") </SCRIPT>';}
}

  $updateGoTo = "configTeamleden.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
    $updateGoTo .= $_SERVER['QUERY_STRING'];
  }
  
  header(sprintf("Location: %s", $updateGoTo));


Ik heb al op Google gezocht, en kwam er idd achter dat het niet mogelijk is om iets te versturen naar de browser voor je header functie vanuit php! Bron: http://www.flashfocus.nl/...ve/index.php/t-12322.html

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Waarom niet doorsturen naar devolgende pagina, meet daarin een melding?

Going for adventure, lots of sun and a convertible! | GMT-8


  • Rvanlaak
  • Registratie: Juni 2005
  • Laatst online: 10:48
Oja, wat hier ook nog eens op een of andere vage manier bij komt is het feit dat ik twee keer de zelfde messagebox te zien krijg! En dit terwijl er maar een keer een messagebox (in javascript) wordt aangeroepen....

Komt dit door die error? Dat de pagina opnieuw geladen wordt?

  • Rvanlaak
  • Registratie: Juni 2005
  • Laatst online: 10:48
Ja, ik kan inderdaad ook de messagebox op de volgende pagina laten opkomen, maar dat zou dan betekenen dat ik die informatie in een $_GET moet zetten? Er wordt ook nog met de variabele $naam gewerkt in het script he!

Verder wil ik weten of het nog op diezelfde pagina kan voor de header functie

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 18-11 20:57
Vervang je header()-commando door het Javascript-commando location.replace()

header("Location: http://www.live.com"); wordt dan: location.replace("http://www.live.com");


Als je toch al met JS werkt kan dit er ook wel bij ;)

We are shaping the future


  • Rvanlaak
  • Registratie: Juni 2005
  • Laatst online: 10:48
Goed idee, die javascript header.....

Dan zou het worden:

PHP:
1
echo '<SCRIPT LANGUAGE="JavaScript"> location.replace("'.$updateGoTo.'") </SCRIPT> ';


Alleen, is die Javascript eigenlijk wel bekend met relatieve paden? Hoe kan ik dit anders snel met PHP oplossen?

  • Rvanlaak
  • Registratie: Juni 2005
  • Laatst online: 10:48
Ja, hij doet het inderdaad...

Volgens mij is de JS niet gewend aan die relatieve paden, maar dat lost mijn Dreamweaver functietje wat erboven staat op schijnbaar!

Overigens is de 2e vertoning van de messagebox ook weg, dus dan zal dat waarschijnlijk toch komen doordat hij zichzelf opnieuw inlaadt!

  • Alex)
  • Registratie: Juni 2003
  • Laatst online: 18-11 20:57
Ik weet het niet zeker, maar volgens mij wel. Probeer het eens uit? :+

Ok, mooi :)

[ Voor 13% gewijzigd door Alex) op 06-09-2007 19:20 ]

We are shaping the future


  • Rvanlaak
  • Registratie: Juni 2005
  • Laatst online: 10:48
Nu heb ik dus die messagebox in een andere pagina geplaatst welke (door middel van een FORM) terug gaat naar zichzelf, en nu laat hij dus die messagebox weer wel twee keer zien! Deze fout is echt niet logisch, want de messagebox hoort pas te komen als het resultaat van een UPDATE query TRUE is. Maar, deze wordt maar 1x vergeleken en ik krijg twee messageboxen!

  • Rvanlaak
  • Registratie: Juni 2005
  • Laatst online: 10:48
Vreemd genoeg wordt de tabel die op die pagina staat ook echt vervormd. Hij wordt veel groter dan dat hij in eerste instantie ingedeeld is. Als ik bij de width 95% zet, dan word ie nog veel te groot (dit is alleen als de msgbox getoond wordt!)

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

als je slim bent, zorg je dat je niet overal gelijk echo() doet maar bijv. een template variabele invoert.
Zoek even op php + simple template en je zult begrijpen wat ik bedoel. (andere trefwoorden: scheiden van code en html, model + viewcontroller)

Stop uploading passwords to Github!

Pagina: 1