Hallo,

Ik ben bezig met een verificatie script, echter krijg ik geen results.
Ik kan de fout niet vinden en ik vroeg me af of ik ergens een fout heb gemaakt of is er een ander probleem waardoor ik geen results krijg.

Ik zal de code even plakken, is een korte code, maar op een of andere manier werkt het niet.

<html>
	<head>
		<title>Sexy Devil</title>
		<link href="inc/div.css" rel="stylesheet" type="text/css"/>
	</head>
	<body>

<?php

	session_start();
	error_reporting(0);
	
	if(isset($_SESSION['over18']))
	{
		header('location: index.php');
	}
	if(isset($_SESSION['under18']))
	{
		header('location: https://www.disneyplus.com/');
	}
	
	if(isset($_SESSION['submit']))
		{
			$day = $_POST['day'];
			$month = $_POST['month'];
			$year = $_POST['year'];
			
			$birthday = mktime(0,0,0,$month,$day,$year);
			$difference = time() - $birthday;
			
			$age = floor($difference / 31556926);
			
			if($age >= 18)
			{
				$_SESSION['over18'] = 1;
				header('location: index.php');
			}else{
				$_SESSION['under18'] = 0;
				header('location: https://www.disneyplus.com/');
			}
		}
	echo $age;
	echo
		"
		<div class='container'>
			<form id='contact' action='confirm.age.php' method='POST'>
				<fieldset>
					<input placeholder='Day' type='number' name='day' value='00' tabindex='1' autofocus>
					<input placeholder='Month' type='number' name='month' value='00' tabindex='1' autofocus>
					<input placeholder='Year' type='number' name='year' value='0000' tabindex='1' autofocus>
				</fielfdset>
				<input type='submit' value='Verify' name='submit'>
			</form>
		</div>
		";
?>
	</body>
</html>
Dan heb je, vermoedelijk in dit script, een location-header die steeds naar zichzelf verwijst. En dan kom je dus in een loop.
okay, dan moet ik dus dat even aanpassen
Ik hebb dus nu dit en dit werkt, maar met refresh dus die error.


<?php
	session_start();
	error_reporting(0);
	
	ini_set('display_errors', 1);
	ini_set('display_startup_errors', 1);
	error_reporting(E_ALL);
	

	if(isset($_SESSION['over18']))
    {
		header('location: index.php');
    }
    if(isset($_SESSION['under18']))
    {
        header('location: https://www.disney.com/');
    }
	
	echo "<head>
			<title>Sexy Devil</title>
			<link href='inc/div.css' rel='stylesheet' type='text/css'/>
		</head>
		<body>";
	
	if(isset($_POST['verify']))
				{
				$day = $_POST['day'];
				$month = $_POST['month'];
				$year = $_POST['year'];
				
				$birthday = mktime(0,0,0,$month,$day,$year);
				$difference = time() - $birthday;
				
				$age = floor($difference / 31556926);
				
				if($age >= 18)
					{
						$_SESSION['over18'] = 1;
						include('inc/start.php');
					}else{
						$_SESSION['under18'] = 0;
						header('location: https://www.disney.com/');
					}
				} else {
					echo
						"<div class='text-user'>Insert your birthday to verify</div>
							<div class='container'>
								<form id='contact' action='index.php' method='POST'>
									<fieldset>
										<input placeholder='Day' type='number' name='day' tabindex='1' autofocus>
										<input placeholder='Month' type='number' name='month' tabindex='1' autofocus>
										<input placeholder='Year' type='number' name='year' tabindex='1' autofocus>
									</fielfdset>
									<button name='verify' type='submit' id='contact-submit' data-submit='...Sending'>Verify</button>
								</form>
							</div>
						<div class='text-user'>Under construction, not all working yet</div>
						";
				}
?>


Kan ik het bovenste gedeelte niet beter aanpassen naar :

	if(isset($_SESSION['over18']))
    {
		header('location: index.php');
    }else{
        header('location: https://www.disney.com/');
    }
Dat is nog praktischer inderdaad.
Hoe heet het bestand? Want als deze index.php heet, dan verwijs je dus naar index.php en op die manier krijg je dus een loop waardoor die foutmelding optreed.
Michael - op 28/02/2023 08:11:27

Hoe heet het bestand? Want als deze index.php heet, dan verwijs je dus naar index.php en op die manier krijg je dus een loop waardoor die foutmelding optreed.


Dit is inderdaad de index.php en ja dat dacht ik ook al, daarom dat ik een oplossing zoek
Is het niet inc/start.php?
start.php bevat een andere pagina.
Dat is de 18plus pagina
Oke. Hoe wil je eigenlijk die headers op lijn 39 en 42 uitvoeren terwijl je daarvoor al HTML hebt staan?

Reageren