Formulieren nieuwe pagina.

  • Onderwerp starter Onderwerp starter Babo
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Babo

Gebruiker
Lid geworden
23 jun 2006
Berichten
48
Hallo,
Ik heb een vraagje.

Mijn code is als volgt:
Code:
<html>
<body>
<form name="emailcontrole" method="post" action"pro.php"/> 
Email adres:<input type="text" name="email">
<input type="submit" value="Verzenden">
</form>
<?php
$dbuser = 'root';
$db = 'herstel';
mysql_connect("localhost", "$dbuser");
mysql_select_db("$db");
$vraag1 = $_POST['vraag1'];
$vraag2 = $_POST['vraag2'];
$email = $_POST['email'];
if(!preg_match("/^([a-zA-Z0-9])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)+/", $_POST['email']))
		{
		echo ("Ongeldig emailadres");
		}
else { ?>
<form name="blaat" method="post"/>
<input type="text" name="Vraag1"<BR>
<input type="text" name="vraag2">
</form>
<?php } ?>

Het gaat dus als volgt: Eerst krijgt men 1 input veld te zien waarin ze hun email adres zetten, die wordt dan gecontroleerd of het wel een email adres is, als dit niet zo is krijgen ze de melding ongeldig emailadres. Maar als het wel goed is wil ik dat ze naar het volgende form gaan. Het werkt, maar niet zoals ik wil. Ik wil namelijk dat die nieuwe form op een "schone" pagina komt, dus dat het eerste formulier niet meer wordt weergegeven.

Is dit mogelijk in 1 bestand? Zo ja, hoe?
Of moet ik dan meerdere bestanden gaan maken?

Alvast bedankt
 
ik snap niet warom de 2 extra balken dienen je hebt nergens in je code namen staan die er voor moeten komen of zie ik dat nu fout?
 
De 2 balken bij het 2e formulier bedoel je? Ja klopt staat nog niks, ik was namelijk nog niet zo ver maar ik had dat 2e formulier even gemaakt om te demonstreren. Uiteindelijk is het de bedoeling dat daar een goede form komt. Maar daar wil ik nog niet aan beginnen tot ik weet of en hoe het mogelijk is wat ik wil :cool:.
 
PHP:
<?php
<?php
$dbuser = 'root';
$db = 'herstel';
mysql_connect("localhost", "$dbuser");
mysql_select_db("$db");
?>

<html>
<body>
<?php
if($_SERVER['REQUEST_METHOD'] == "POST") {
  // Kijken of variabelen bestaan
  $vraag1 = isset($_POST['vraag1']) ? $_POST['vraag1'] : '';
  $vraag2 = isset($_POST['vraag2']) ? $_POST['vraag2'] : '';
  $email = isset($_POST['email']) ? $_POST['email'] : '';

  if(!empty($email)) {
    if(!preg_match("/^([a-zA-Z0-9])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)+/", $email)) {
      echo ("Ongeldig emailadres");
    } else {
    // Form weergeven wanneer adres ongeldig is
      ?>
<form name="blaat" method="post">
<input type="text" name="Vraag1" /><BR>
<input type="text" name="vraag2" />
</form>
<?php
    }
  } else {
    // Uitvoeren wanneer het 2e formulier wordt getoond
    echo $vraag1 .'<br />'. $vraag2;
  }
} else {
?>
<form name="emailcontrole" method="post" action""> 
Email adres:<input type="text" name="email" />
<input type="submit" value="Verzenden" />
</form>
<?php } ?>
Zoiets dacht ik
 
Bedankt !
Dat is precies wat ik bedoelde.


Edit: Nog een vraag, het is de bedoeling dat als de mensen het 2e form goed hebben ingevuld, de antwoorden van het 2e form + het emailadres wat in het eerste form is ingevuld naar de database gaan. Alleen ik snap niet hoe ik het email van form 1 kan laten onthouden, volgens mij moet ik dan in het 2e form een hidden input gebruiken, maar meer dan dat weet ik niet.
 
Laatst bewerkt:
als je wilt dat gegevens worden onthouden bij een form kun je sessions gebruiken zodat deze worden opgeslagen totdat de persoon de browser wegklikt. dan kun je ze op andere pagina's in de db laten zetten mocht je dat nodig vinden
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan