Verificatie script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 3 volgende »

Arno van Zanten

Arno van Zanten

22/02/2023 12:15:23
Quote Anchor link
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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<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>
 
PHP hulp

PHP hulp

25/04/2024 01:01:40
 
- Ariën  -
Beheerder

- Ariën -

22/02/2023 12:18:42
Quote Anchor link
Je mag geen output zoals HTML voor je header() en session_start() gebruiken. Als je de error_reporting aanzet, dan word je er voor gewaarschuwd.
Gewijzigd op 22/02/2023 12:19:14 door - Ariën -
 
Arno van Zanten

Arno van Zanten

22/02/2023 12:20:15
Quote Anchor link
- Ariën - op 22/02/2023 12:18:42:
Je mag geen output zoals HTML voor je header() en session_start() gebruiken. Als je de error_reporting aanzet, dan word je er voor gewaarschuwd.


Kun je mij uitleggen hoe je dat bedoeld?
 
- Ariën  -
Beheerder

- Ariën -

22/02/2023 12:20:58
Quote Anchor link
Je mag voor die functies absoluut geen HTML gebruiken.
 
Arno van Zanten

Arno van Zanten

22/02/2023 12:26:52
Quote Anchor link
Maar dan laat hij de css script niet

Toevoeging op 22/02/2023 12:28:47:

Heb het nu zo gedaan dan, is dat dan wel okay?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?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;
?>

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

    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>
 
- Ariën  -
Beheerder

- Ariën -

22/02/2023 12:29:20
Quote Anchor link
Dit klopt prima!
Eerst moet je de sessie initialiseren met session_start(), dan kijken of er doorgestuurd moet worden. En dan komt de HTML.

En nu je toch bezig bent met ontwikkelen, zet je error_reporting aan!!
Gewijzigd op 22/02/2023 12:32:04 door - Ariën -
 
Arno van Zanten

Arno van Zanten

22/02/2023 12:32:17
Quote Anchor link
- Ariën - op 22/02/2023 12:29:20:
Dat kan prima daarna!
Eerst moet je de sessie initialiseren met session_start(), dan kijken of er doorgestuurd moet worden. En dan komt de HTML.


Gedaan, maar script werkt nog niet.
Als ik een verificatie doe met het jaar 2016, waardoor ik dus te jong ben, zou hij mij naar de site van disney moeten sturen, maar dat doe hij niet eens.
 
- Ariën  -
Beheerder

- Ariën -

22/02/2023 12:34:18
Quote Anchor link
Error_reporting op E_ALL gezet en display_errors op 1?
 
Arno van Zanten

Arno van Zanten

22/02/2023 12:36:29
Quote Anchor link
Nee, dat niet.
ga ik nu eens doen.

Toevoeging op 22/02/2023 12:44:04:

Het werkt, nu nog alles goed zetten en de css aanpassen.
thanks voor de hulp
 
- Ariën  -
Beheerder

- Ariën -

22/02/2023 12:45:33
Quote Anchor link
Graag gedaan :-)
 
Ivo P

Ivo P

22/02/2023 13:15:43
Quote Anchor link
En kijk ook eens naar de datetime functies van php

https://www.php.net/manual/en/datetime.diff.php

Een datum omrekenen naar het aantal seconden sinds (of vóór) 1970 en dat vergelijken met het aantal seconden dat we NU voorbij 1970 zijn.
En dan dat vergelijken met een enorm getal (18 * 365 * 24 *60 * 60 ?)

Lijkt me wat onoverzichtelijk en tegennatuurlijk.

btw: niet alles op disneyplus is geschikt voor tere kinderzieltjes.
 
- Ariën  -
Beheerder

- Ariën -

22/02/2023 13:20:20
Quote Anchor link
Doe dan gewoon www.Disney.nl. :-)
 
Arno van Zanten

Arno van Zanten

22/02/2023 13:31:46
Quote Anchor link
- Ariën - op 22/02/2023 13:20:20:
Doe dan gewoon www.Disney.nl. :-)


komt goed :)

Toevoeging op 22/02/2023 16:16:12:

Okay, code zover aangepast dat ik beeld heb.
Echter heeft mijn code weer de kuren, wat doe ik nu weer fout?
Alles staat naar mijn mening goed en ik snap er nu even de ballen niet van.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<?php
    session_start();
    $_SESSION['age'] = $ageokay;

    if(!isset($_SESSION['age']))
        {

            if(isset($_SESSION['under18']))
                {
                    
                }

            if(isset($_SESSION['over18']))
                {
                    
                }

            if(isset($_POST['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;
                        echo "Welcome";
                    }
else{
                        $_SESSION['under18'] = 0;
                        header('location: https://www.disney.com/');
                    }

                    $ageokay = $_SESSION['over18'];
                }

?>

                <html>
                    <head>
                        <title>Sexy Devil</title>
                        <link href="inc/div.css" rel="stylesheet" type="text/css"/>
                    </head>
                    <body>
<?php
                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' 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>
                            <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>
                    "
;                
        }
else{
            echo "
                <head>
                    title>Sexy Devil</title>
                    <link href='inc/div.css' rel='stylesheet' type='text/css'/>
                </head>
                <body>
                    <div class='content'>
                        <div class='content' id='header'><img src='img/banner.png' width='960px' height='140px'></div>
                    </div>
                    <div class='content'>
                        <div class='content' id='menu'>2</div>
                        <div class='content' id='profile'>
                            <div id='photo-name'><p class='text-user'>Delia</p></div>
                                <img id='photo' src='img/Delia/20221117_233611.JPEG'>
                            <div id='photo-phone'><p class='text-user'>+31 6 13351720</p></div>
                        </div>
                        <div class='content' id='profile'>
                            <div id='photo-name'><p class='text-user'>Delia</p></div>
                                <img id='photo' src='img/Delia/20221117_234305.JPEG'>
                            <div id='photo-phone'><p class='text-user'>+31 6 13351720</p></div></div>
                        <div class='content' id='profile'>
                            <div id='photo-name'><p class='text-user'>Delia</p></div>
                                <img id='photo' src='img/Delia/20221117_234336.JPEG'>
                            <div id='photo-phone'><p class='text-user'>+31 6 13351720</p></div></div>
                        </div>
                    </div>
                    <div class='content' id='footer'>test</div>
"
;
        }



?>

    </body>
</html>


Toevoeging op 22/02/2023 16:16:12:

Okay, code zover aangepast dat ik beeld heb.
Echter heeft mijn code weer de kuren, wat doe ik nu weer fout?
Alles staat naar mijn mening goed en ik snap er nu even de ballen niet van.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<?php
    session_start();
    $_SESSION['age'] = $ageokay;

    if(!isset($_SESSION['age']))
        {

            if(isset($_SESSION['under18']))
                {
                    
                }

            if(isset($_SESSION['over18']))
                {
                    
                }

            if(isset($_POST['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;
                        echo "Welcome";
                    }
else{
                        $_SESSION['under18'] = 0;
                        header('location: https://www.disney.com/');
                    }

                    $ageokay = $_SESSION['over18'];
                }

?>

                <html>
                    <head>
                        <title>Sexy Devil</title>
                        <link href="inc/div.css" rel="stylesheet" type="text/css"/>
                    </head>
                    <body>
<?php
                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' 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>
                            <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>
                    "
;                
        }
else{
            echo "
                <head>
                    title>Sexy Devil</title>
                    <link href='inc/div.css' rel='stylesheet' type='text/css'/>
                </head>
                <body>
                    <div class='content'>
                        <div class='content' id='header'><img src='img/banner.png' width='960px' height='140px'></div>
                    </div>
                    <div class='content'>
                        <div class='content' id='menu'>2</div>
                        <div class='content' id='profile'>
                            <div id='photo-name'><p class='text-user'>Delia</p></div>
                                <img id='photo' src='img/Delia/20221117_233611.JPEG'>
                            <div id='photo-phone'><p class='text-user'>+31 6 13351720</p></div>
                        </div>
                        <div class='content' id='profile'>
                            <div id='photo-name'><p class='text-user'>Delia</p></div>
                                <img id='photo' src='img/Delia/20221117_234305.JPEG'>
                            <div id='photo-phone'><p class='text-user'>+31 6 13351720</p></div></div>
                        <div class='content' id='profile'>
                            <div id='photo-name'><p class='text-user'>Delia</p></div>
                                <img id='photo' src='img/Delia/20221117_234336.JPEG'>
                            <div id='photo-phone'><p class='text-user'>+31 6 13351720</p></div></div>
                        </div>
                    </div>
                    <div class='content' id='footer'>test</div>
"
;
        }



?>

    </body>
</html>


Toevoeging op 22/02/2023 16:51:15:

Ik heb het script opgedeeld in 3 pages, echter werkt het nog niet zoals ik wil.
Zo fijn zijn als iemand mij kon vertellen wat ik fout doe.

index.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
    session_start();
    error_reporting(0);
    
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);
    error_reporting(E_ALL);
    
    if(!isset($_SESSION['age']))
        {

            if(isset($_SESSION['under18']))
                {

                    header('location: https://www.disney.com/');
                }

            if(isset($_SESSION['over18']))
                {

                    include('inc/start.php');
                }
        }
else {
            
            include('inc/confirm.age.php');
        }

?>


confirm.age.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
if(isset($_POST['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;
                        include('inc/start.php');
                    }
else{
                        $_SESSION['under18'] = 0;
                        header('location: https://www.disney.com/');
                    }

                    $_SESSION['age' = $age;
                }

?>

                <html>
                    <head>
                        <title>Sexy Devil</title>
                        <link href="inc/div.css" rel="stylesheet" type="text/css"/>
                    </head>
                    <body>
<?php
                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' 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>
                            <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>
                    "
;                
        }

?>

    </body>
</html>


start.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
                    echo "
                <head>
                    title>Sexy Devil</title>
                    <link href='inc/div.css' rel='stylesheet' type='text/css'/>
                </head>
                <body>
                    <div class='content'>
                        <div class='content' id='header'><img src='img/banner.png' width='960px' height='140px'></div>
                    </div>
                    <div class='content'>
                        <div class='content' id='menu'>2</div>
                        <div class='content' id='profile'>
                            <div id='photo-name'><p class='text-user'>Delia</p></div>
                                <img id='photo' src='img/Delia/20221117_233611.JPEG'>
                            <div id='photo-phone'><p class='text-user'>+31 6 13351720</p></div>
                        </div>
                        <div class='content' id='profile'>
                            <div id='photo-name'><p class='text-user'>Delia</p></div>
                                <img id='photo' src='img/Delia/20221117_234305.JPEG'>
                            <div id='photo-phone'><p class='text-user'>+31 6 13351720</p></div></div>
                        <div class='content' id='profile'>
                            <div id='photo-name'><p class='text-user'>Delia</p></div>
                                <img id='photo' src='img/Delia/20221117_234336.JPEG'>
                            <div id='photo-phone'><p class='text-user'>+31 6 13351720</p></div></div>
                        </div>
                    </div>
                    <div class='content' id='footer'>test</div>
                    "
;
?>


Toevoeging op 22/02/2023 17:25:35:

Ik zit nu echt vast, normaal weet ik wel wat er fout gaat, maar bij deze zit ik echt vast.
Heb wel goede uitleg gehad en deze toegepast, maar nu zit ik vast in mijn eigen code.
Als ik er aparte pages van maak, werkt elke code afzonderlijk, maar dan is die vervicatie check niet nodig, maar die moet wel gedaan worden.
Het gaat om een 18+ pagina
 
- Ariën  -
Beheerder

- Ariën -

22/02/2023 18:24:16
Quote Anchor link
Ga rustig debuggen. Fout afhandeling aan. Plaats in elke statement een echo, en kijk rustig welke route er bewandeld wordt door het script.

Je kan ook een functie aanmaken om uit de sessie te lezen of iemand 18+ is.
Een controle of iemand jonger is is onnodig.

De vraag of iemand 18+ is, kan je al beantwoord met ja of nee. (True of false)
Gewijzigd op 22/02/2023 18:28:35 door - Ariën -
 
Arno van Zanten

Arno van Zanten

22/02/2023 18:30:27
Quote Anchor link
- Ariën - op 22/02/2023 18:24:16:
Ga rustig debuggen. Fout afhandeling aan. Plaats in elke statement een echo, en kijk rustig welke route er bewandeld wordt door het script.

Je kan ook een functie aanmaken om uit de sessie te lezen of iemand 18+ is.
Een controle of iemand jonger is is onnodig.

De vraag of iemand 18+ is, kan je al beantwoord met ja of nee. (True of false)


Gedaan, maar ik zie het niet.
Denk dat ik het maar laat, kost me een hoop geld, maar beter dan kop zorgen over hoe het moet.
Dan maar een page die niet werkt
 
- Ariën  -
Beheerder

- Ariën -

22/02/2023 18:32:28
Quote Anchor link
Eerst werkte het toch? Ga terug naar de stap van toen. Als het om extra pagina's gaat, maak een eigen functie aan: is_18_or_older() { }
Gewijzigd op 22/02/2023 18:33:27 door - Ariën -
 
Arno van Zanten

Arno van Zanten

22/02/2023 21:04:56
Quote Anchor link
Nee ben er klaar mee
Ik krijg er hoofdpijn van, zoals ik zei.
Maak ik er losse pages van, werkt het, maar met includes enzo, werkt niks meer.
Waarom zou ik er nog verder mee gaan knoeien en mezelf hoofdpijn bezorgen, dan nodig is.
Je mag dit topic sluiten
 
- Ariën  -
Beheerder

- Ariën -

22/02/2023 22:52:08
Quote Anchor link
Als je hoofdpijn krijgt, dan betekent dit dat je er veel te lang mee bezig bent. Je raakt dan in een tunnelvisie waardoor je geen enkel overzicht meer hebt.

Laat het probleem daarom even liggen, ga lekker op tijd slapen, neem de rust. Ik heb gezien dat mensen uiteindelijk weer volle energie krijgen om het probleem op te lossen. En vaak genoeg weten ze het probleem dan snel te tackelen. Dus dit kan ik jou ook adviseren.

Ik zie daarom eerlijk gezegd geen enkele reden om het topic te sluiten. Geef het gewoon nog eens een kans op een moment dat je weer fris bent. Je bent niet de enige die hier tegenaan loopt. Lees de tips in je topics nog en keer en ik denk dat je echt een stap verder komt.
 
- SanThe -

- SanThe -

23/02/2023 11:15:49
Quote Anchor link
Ik denk niet dat $_POST['submit'] bestaat.

Ik heb even geen idee of een button ook met de post meegaat.
Maar dan nog zal die 'Verify' heten en geen 'submit'.

<button name='Verify' type='submit' id='contact-submit' data-submit='...Sending'>Verify</button>
 
Ivo P

Ivo P

23/02/2023 11:27:38
Quote Anchor link
Je wilt ook niet weten of dit button geklikt is, maar of en form gepost is:


if($_SERVER['REQUEST_METHOD'] === 'POST') {
}
 
- Ariën  -
Beheerder

- Ariën -

23/02/2023 11:43:39
Quote Anchor link
Verder nog een tip:

Je hoeft voor het plaatsen van de sessie enkel te kijken of iemand 18 jaar of ouder is. Een extra vraag als statement of iemand jonger is, lijkt me onnodig, want je kan zelf de eerste vraag al met ja of nee beantwoorden. Dus een enkele sessie is al voldoende. Nu maak je het alleen maar lastiger voor jezelf met extra code.
 

Pagina: 1 2 3 volgende »



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.