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


 <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
Tijdelijk opslaan in een PHP session.
Je kan de $_POST data opslaan in een sessie:

begint altijd met

<?php
session_start();

// hier de rest van je script.
?> 


En met dit, kan je alle $_POST elementen opslaan in een sessie.

<?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.
@Ariën, kun je zoiets niet oplossen door gewoon 1 formulier te gebruiken maar door divs met daarin de formuliervelden te tonen en verbergen?
Zou eventueel ook kunnen.
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

<?php
session_start();
$sid=session_id();
?>
<?php echo $sid;?> 
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.
ik wil dat zeg maar wanneer iemand op mijn websitebezoekt een eigen session id heeft voor de form
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.
>> 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?

Reageren