php session form post op 1 page

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Hendrk jornie

hendrk jornie

15/02/2023 18:20:06
Quote Anchor link
Hallo,

ik heb een vraagje ik heb zeg maar een 3 stap formulier
hoe kan ik zeg maar dat bij de laatste stap pas alles gesaved wordt de formulier

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
97
98
99
100
101
102
103
104
105
106
107
108
109
<div class="container">
      <h1>Multi-step form</h1>
      <div class="form">
        <div class="inner">
          <ul class="steps">
            <li class="listItem show">
              <div class="col1">
                <span class="step"
                  ><span>1</span><span class="checkmark"></span
                ></span>
                <span class="line"></span>
              </div>
              <div class="col2 stepBody">
                <div class="stepTitle">
                  Step 1
                </div>
                <div class="content">
                  <div class="inputGroup">
                    <label for="name">How should we call you?</label>
                    <input
                      autocomplete="off"
                      type="text"
                      name="name"
                      id="name"
                    />
                  </div>
                  <div class="buttons">
                    <button class="next" disabled>Continue</button>
                  </div>
                </div>
              </div>
            </li>
            <li class="listItem">
              <div class="col1">
                <span class="step"
                  ><span>2</span><span class="checkmark"></span
                ></span>
                <span class="line"></span>
              </div>
              <div class="col2 stepBody">
                <div class="stepTitle">
                  Step 2
                </div>
                <div class="content">
                  <!-- wrap inputs into div to enable :focus-within css selector on container -->
                  <div class="inputGroup">
                    <label for="email">Your email</label>
                    <input
                      autocomplete="off"
                      type="email"
                      name="email"
                      id="email"
                    />
                  </div>
                  <div class="inputGroup">
                    <label for="password">Set password</label>
                    <input
                      autocomplete="off"
                      type="password"
                      name="password"
                      id="password"
                    />
                  </div>
                  <div class="buttons">
                    <button class="next" disabled>Continue</button>
                    <button class="prev">Back</button>
                  </div>
                </div>
              </div>
            </li>
            <li class="listItem">
              <div class="col1">
                <span class="step"
                  ><span>3</span><span class="checkmark"></span
                ></span>
                <span class="line"></span>
              </div>
              <div class="col2 stepBody">
                <div class="stepTitle">
                  Step 3
                </div>
                <div class="content">
                  <div class="inputGroup">
                    <p>
                      Congratulations! Now you're all set,<br />
                      hit that submit button!
                    </p>
                  </div>
                  <div class="buttons">
                    <button class="submit">Submit</button>
                    <button class="prev">Back</button>
                  </div>
                  <div class="message">
                    <span class="success">You signed up succesfully!</span>
                    <span class="fail"
                      >Oops, something went wrong! Please double-check your
                      inputs.</span
                    >
                  </div>
                </div>
              </div>
            </li>
          </ul>
        </div>
      </div>
    </div>

    <script type="module" src="js/main.js"></script>
  </body>


iemand idee ik hoe dat ongeveer moet doen
 
PHP hulp

PHP hulp

02/06/2023 14:32:12
 
- Ariën  -
Beheerder

- Ariën -

15/02/2023 18:38:02
Quote Anchor link
Tijdelijk opslaan in een PHP session.
 
Hendrk jornie

hendrk jornie

15/02/2023 18:44:16
Quote Anchor link
heb je een voorbeeldje
 
- Ariën  -
Beheerder

- Ariën -

15/02/2023 18:49:04
Quote Anchor link
Je kan de $_POST data opslaan in een sessie:

begint altijd met
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
session_start();

// hier de rest van je script.
?>


En met dit, kan je alle $_POST elementen opslaan in een sessie.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$_SESSION
['step1'] = $_POST;
?>


Voor de tweede pagina sla je de data op in $_SESSION['step2'], en dan step 3 enzovoorts.|
En na afloop kan je de hele $_SESSION doorlopen met foreach en alles verwerken.
Gewijzigd op 15/02/2023 18:49:17 door - Ariën -
 
Ozzie PHP

Ozzie PHP

15/02/2023 21:54:51
Quote Anchor link
@Ariën, kun je zoiets niet oplossen door gewoon 1 formulier te gebruiken maar door divs met daarin de formuliervelden te tonen en verbergen?
 
- Ariën  -
Beheerder

- Ariën -

16/02/2023 22:50:29
Quote Anchor link
Zou eventueel ook kunnen.
 
Hendrk jornie

hendrk jornie

16/02/2023 23:40:51
Quote Anchor link
ik heb nu een andere vraagje hoe krijg ik het voorelkaar wanneer ze op mijn website komen
http://jeurl.nl

automatisch naar een session id wordt geleid
index.php?sessionid=46420ee89c4c356956888c3b9584df6a

heb nu zo
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
session_start();
$sid=session_id();
?>

<?php echo $sid;?>
 
- Ariën  -
Beheerder

- Ariën -

17/02/2023 00:00:34
Quote Anchor link
Met welke reden wil je dat? Normaal staat de sessionID in een cookie.
Dit lijkt mij juist gevaarlijker omdat je de SessionID in logs achterlaat, en dan is hijacking zo gebeurd.
Gewijzigd op 17/02/2023 00:01:06 door - Ariën -
 
Hendrk jornie

hendrk jornie

17/02/2023 00:02:51
Quote Anchor link
ik wil dat zeg maar wanneer iemand op mijn websitebezoekt een eigen session id heeft voor de form
 
- Ariën  -
Beheerder

- Ariën -

17/02/2023 00:07:35
Quote Anchor link
je bedoelt tegen dubbel posten?
Je kan toch ook een eigen sessie-code aanmaken?

https://www.phptutorial.net/php-tutorial/php-csrf/
Hiermee zorg je ervoor dat anderen vanaf een eigen locatie je formulier niet kunnen misbruiken voor spam.

https://www.phptutorial.net/php-tutorial/php-prg/
Dit is bedoeld om dubbelposten tegen te gaan.

En in de CSRF tutorial staat ook hoe je een eigen sessiecode aanmaakt. Daar wil je geen PHP SessionD voor aanroepen. Je kan wel losstaande sessies gebruiken, zoals ik al eerder heb genoemd.
Gewijzigd op 17/02/2023 00:12:47 door - Ariën -
 
Ozzie PHP

Ozzie PHP

17/02/2023 02:46:27
Quote Anchor link
>> ik heb een vraagje ik heb zeg maar een 3 stap formulier
>> hoe kan ik zeg maar dat bij de laatste stap pas alles gesaved wordt de formulier
>> ik wil dat zeg maar wanneer iemand op mijn websitebezoekt een eigen session id heeft voor de form

Je hebt "zeg maar" een opvallend stopwoordje :-)

Ik vermoed, gezien de vragen die je stelt en de voorstellen die je doet dat je nog niet zo heel veel ervaring hebt met programmeren. Klopt dat?
 



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.