Multiple Combobox Validation?!

Status
Niet open voor verdere reacties.

jyppino

Gebruiker
Lid geworden
6 sep 2009
Berichten
285
Hallo,

Ik heb voor mijn website 2 comboboxes en 1 button nodig.
Als ik dan op de button klik, wil ik dat de script kijkt naar welke pagina hij je moet doorlinken:
Code:
<?php

$box1 == $_POST['combobox1'];
$box2 == $_POST['combobox2'];

if ($box1=='zee'&&$box2=='boot')
{
     header( 'Location: ...php/index.php' ) ;
}

if ($box1=='computer'&&$box2=='zee')
{
     header( 'Location: ...php/computer.php' ) ;
}

?>
Ik ben pas een beginner met php, wat u waarscheinlijk al kan zien aan de fouten in de code hierboven, dus a.u.b een antwoord dat een 'dummie' zoals ik versta.

Alvast bedankt,
Jyppino
 
doe boven aan je pagina eens een print_r()
zo
PHP:
<?php
print_r($_POST);
$box1 == $_POST['combobox1'];
$box2 == $_POST['combobox2'];

if ($box1=='zee'&&$box2=='boot')
{
     header( 'Location: ...php/index.php' ) ;
}

if ($box1=='computer'&&$box2=='zee')
{
     header( 'Location: ...php/computer.php' ) ;
}

?>

print_r($_POST) laat zien wat er in een array zit
Dus in dit geval de array die in je $_POST zit.
 
Het werkt niet. Hier is de volledige code (het is niet zo groot):

Code:
<body>

<?php
print_r($_POST);
$box1 == $_POST['drop1'];
$box2 == $_POST['drop2'];
$submit = $_POST['submit'];
 
if ($submit)
{
    if ($box1=='item 1'&&$box2=='item 2')
    {
     	header('Location: html/index.php');
    }
}
?>

<form id="form1" name="form1" method="post" action="test.php">
  
  <select name="drop1" id="drop1">
    
    <option value="1">item 1</option>
    
    <option value="2">item 2l</option>
    
  </select>
  
  <select name="drop2" id="drop2">
    
    <option value="1">item 1</option>
    
    <option value="2">item 2</option>
       
  </select>
  
  <input type="submit" name="submit" id="submit" value="Submit" />

</form>
</body>

Ik krijg meerdere problemen:
1. Het werkt gewoon niet als ik op submit druk
2. Er word de text 'Array ()' naast/boven de combobox geprint:
attachment.php


Wat is er fout met de code?

Alvast bedankt,

Jyppino
 

Bijlagen

  • Knipsel.PNG
    Knipsel.PNG
    1,9 KB · Weergaven: 32
okey nu is het probleem zichbaar.
PHP:
<body>

<?php
 
if (isset($_POST(['submit'])
{
print_r($_POST);
$box1 == $_POST['drop1'];
$box2 == $_POST['drop2'];

    if ($box1=='item 1'&&$box2=='item 2')
    {
     	header('Location: html/index.php');
    }
}
?>

<form id="form1" name="form1" method="post" action="test.php">
  
  <select name="drop1" id="drop1">
    
    <option value="1">item 1</option>
    
    <option value="2">item 2l</option>
    
  </select>
  
  <select name="drop2" id="drop2">
    
    <option value="1">item 1</option>
    
    <option value="2">item 2</option>
       
  </select>
  
  <input type="submit" name="submit" id="submit" value="Submit" />

</form>
</body>

Je moet eerst test op er $_POST gezet is voor je de data kun verwerken.
Is $_POST er niet, dan moet het script het form laten zien.
Is de $_POST erwel, dan moet het script de gegevens verwerken.

Jij probeerde $+POST gegevens te verwerken terwijl ze niet gezet zijn!

Nu zul je pas na het submit ook pas de print_r gegevens zien en daar zullen nu wel gegevens in staan.
 
Ok, dat nu is de Array () verdwenen, goed.
Maar het belangrijkste probleem is er nog: als ik op submit klik, krijg ik het volgende tezien:
Array ( [drop1] => 1 [drop2] => 2 [submit] => Submit ), maar verder wordt je niet doorgestuurd naar de index.php page.

Hoe moet ik dit laten werken?

Alvast bedankt,

Jyppino
 
Zoals je zie
PHP:
Array ( [drop1] => 1 [drop2] => 2 [submit] => Submit )
Stuur de $_POST de values van de comboboxen door

Dus in de if-statement zul je moeten controleren op de value
PHP:
if($_POST['drop1'] == 1) {
          //actie
}

of je moet de value van de combobozen (in de html) veranderen in iets anders bv "school" "computer"
 
Ik hoop dat je nu ook de werking ervan snapt.
Ik had je wel een kantenklare oplossing kunnen geven.
Maar ik denk dat je hier meer aan hebt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan