login  Naam:   Wachtwoord: 
Registreer je!
 Forum

header?

Offline ArcanA - 19/02/2010 03:59
Avatar van ArcanAPHP beginner Hallo,

Ik wil een simpele header("Location: index.php"); uitvoeren en lukt niet. Weet iemand waarom ik dit niet zou kunnen uitvoeren?

Mvg,
Niels

11 antwoorden

Gesponsorde links
Offline Abbas - 19/02/2010 04:29
Avatar van Abbas Gouden medaille

Crew .NET
Misschien iets meer code want die regel die je geeft is syntactisch wel juist! 
Offline Jelmerholland - 19/02/2010 08:21
Avatar van Jelmerholland PHP beginner Gokje
Headers allready sent? 

code zou inderdaad wel handig zijn 

Ps, weet je zeker dat je niet header("Location: ../index.php"); moet doen? Dus dat je je vergist hebt in de mappen?
Offline voltrex - 19/02/2010 10:31
Avatar van voltrex Lid Probeer eens helemaal bovenaan je pagina (nog boven doctype enzo) te zetten:
Bedankt door: ArcanA
Offline Koen - 19/02/2010 11:08
Avatar van Koen PHP expert
voltrex schreef:
Probeer eens helemaal bovenaan je pagina (nog boven doctype enzo) te zetten:
[..code..]

Olé, daar gaan we weer met het ontwijken van het probleem in plaats van het op te lossen.
=> http://www.sitemasters.be/forum/1/35153#id226668
Offline Martijn - 19/02/2010 12:20
Avatar van Martijn Crew PHP ob_start() moet je alleen gebruiken als je weet wat je aan het doen ben. Verder is meer info idd handig welke code heb je, krijg je een foutmelding? etc.
Offline ArcanA - 19/02/2010 18:54
Avatar van ArcanA PHP beginner Waar nu die meta staat, zou ik graag een header(); willen zetten omdat header(); sneller werkt.. Ik krijg geen foutmeldingen, hij doet precies alsof de header er niet staat.

  1. <?php
  2. include_once("inc/dbconnect.php");
  3. include_once("inc/functions.php");
  4. ?>
  5.  
  6. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  7. <html xmlns="http://www.w3.org/1999/xhtml">
  8.  
  9. <?php
  10. head();
  11. echo '<body>';
  12. background();
  13. echo '<!-- Website -->';
  14. echo '<div id="website">';
  15. logo();
  16. echo '<!-- Content -->';
  17. echo '<div id="content">';
  18.  
  19.  
  20. if (!isset($_SESSION['regid'])){
  21. menu_outgame_left();
  22. } else
  23. {
  24. menu_ingame_left();
  25. }
  26. ?>
  27. <?php
  28. if (isset($_SESSION['regid'])){
  29. echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL=hoofdpagina.php">';
  30. } else
  31. {
  32. ?>
  33. <!-- Content mid -->
  34. <div id="content-mid">
  35. <h2 class="first">Startpagina</h2>
  36. <div id="content-mid-i">
  37. <div class="box">
  38. <div class="box-i">
  39. <p>Welkom bij Het Hondenspel, dit spel is een clickbased spel dat bespeelbaar is door jong en oud.<br />
  40. Het is de bedoeling om je honden zo goed mogelijk te trainen, en zo wedstrijden te winnen.<br />
  41. Dit spel bezit naast het trainen nog vele andere mogelijkheden, zo kan je proberen zo veel mogelijk geld te winnen, of gewoon alle items te verzamelen. <br />
  42. Je kan ook het leven van een fokker kiezen, die om de paar dagen kan fokken.<br />
  43. Dan krijg je lieve, aardige en schattige pups, dan sta je weer voor een keuze: Zal ik ze verkopen, of hou ik ze bij?<br />
  44. Zal het jou lukken om eerst te staan in de ranglijst? Zal jij de sterkste hond hebben? Zal jij de sterkste speler van het spel worden? Ontdek deze functies, en nog vele meer, zelf, door nu te <a href="registreren.php">registreren</a>.</p>
  45. </div>
  46. <?php
  47. google_add();
  48. ?>
  49. </div>
  50. </div>
  51. </div>
  52. <?php
  53. }
  54. ?>
  55.  
  56. <?php
  57. if (!isset($_SESSION['regid'])){
  58. menu_outgame_right();
  59. } else
  60. {
  61. menu_ingame_right();
  62. }
  63. echo '<!-- end Website -->';
  64. echo '</div>';
  65. footer();
  66. ?>
  67.  
  68. </body>
  69. </html>

Offline jaronneke - 19/02/2010 20:11
Avatar van jaronneke MySQL interesse php.net/header (je hebt al output voor je doorverwijzing)
Offline ArcanA - 19/02/2010 21:46 (laatste wijziging 19/02/2010 21:48)
Avatar van ArcanA PHP beginner heb ob_start(); vanboven gezet, nu werkt het wel

zou dit liever niet doen, maar krijg het niet in orde
Offline pijke - 20/02/2010 15:16
Avatar van pijke Gouden medaille

Lid
je moet altijd achter header(); het commando exit(); zetten.
anders doet hij het volgens mij idd niet.

succes verder!
Offline Koen - 20/02/2010 15:16 (laatste wijziging 20/02/2010 15:26)
Avatar van Koen PHP expert
ArcanA schreef:
heb ob_start(); vanboven gezet, nu werkt het wel

zou dit liever niet doen, maar krijg het niet in orde


Je zou je code zo moeten kunnen structureren dat je die PHP code al uitvoert vóór er eender welke output naar de bezoeker wordt verzonden.

Edit, @pijke:
Door gebruik te maken van PHP.net: exit of PHP.net: die na een header redirect zorgt men ervoor dat het script wordt afgebroken en er geen verdere output meer wordt verstuurd naar de bezoeker. Bepaalde oude browsers ondersteunen zo'n redirect niet (al dan niet doelbewust) hierbij wordt de rest van het script dus nog wel uitgevoerd en wordt er nog output verzonden. Laat ons even onderstaande proefopstelling van naderbij bekijken:
  1. <?php
  2. if(!isset($_SESSION['login']) || $_SESSION['login'] != 'jep')
  3. {
  4. header('Location: indringer.php');
  5. }
  6. ?>
  7. <html>
  8. <head>
  9. <title>Ledensysteem - Gevoelige data</title>
  10. </head>
  11. <body>
  12. <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse vestibulum augue at dolor molestie aliquet. Quisque eu porta velit. Maecenas tempor mi non leo ullamcorper venenatis. Cras sed justo ligula. Vestibulum nec neque lectus. Etiam mattis blandit massa, ultrices hendrerit sapien lacinia a. In nec odio vel diam sollicitudin commodo. Curabitur iaculis nisi non diam auctor dapibus. Integer sapien velit, lacinia ut varius eget, pretium id urna. Pellentesque eget est at purus tempus sollicitudin in at augue. Duis vel sem a augue gravida imperdiet. Curabitur egestas odio sed lectus luctus rhoncus. Suspendisse nulla ipsum, commodo imperdiet adipiscing eget, lobortis a risus. Sed eu turpis est. Ut velit felis, aliquet at lobortis et, vulputate posuere risus. Nam congue porttitor velit ac cursus. Etiam justo justo, dignissim ut imperdiet vitae, venenatis sed arcu. Nam fermentum vehicula mi euismod consequat. </p>
  13. </body>
  14. </html>

Als ik deze pagina nu bekijk met een browser die geen redirections ondersteunt en ik niet ben ingelogd, dan zou ik alsnog toegang hebben tot de gevoelige gegevens die wat verder op de pagina staan. Daarom wordt het gebruik van PHP.net: exit altijd aangeraden, maar het is in geen geval verplicht.
Bedankt door: Martijn
Offline pijke - 21/02/2010 18:18
Avatar van pijke Gouden medaille

Lid
weer wat geleerd 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.223s