gegevens ophalen ? Help !

Status
Niet open voor verdere reacties.

vanstin

Nieuwe gebruiker
Lid geworden
11 dec 2007
Berichten
4
Ik ben een beginner met php.
Ik ben wat met variabelen aan het spelen.

Ik heb 2 input velden en in het derde veld wil ik de som tonen.
Mijn code werkt niet.
Kunnen jullie me zeggen wat ik fout doe ?

<form id="form1" name="form1" method="post" action="bereken.php">
<label>
<input type="text" name="x" id="textfield" />
<input type="text" name="y" id="textfield" />
</label>
</form>

<?php
$som = $_POST['x'] + $_POST['y'];
?>

<form id="form2" name="form2" method="post" action="">
<label>
<input type="text" name="textfield2" id="textfield2" value="$som" >
</label>
</form>
 
PHP:
<form id="form1" name="form1" method="post" action="bereken.php">
<label>
<input type="text" name="x" id="textfield" /> 
<input type="text" name="y" id="textfield" />
<input type="submit" value="submit">
</label> 
</form>

<?php
$som = $_POST['x'] + $_POST['y'];
?> 

<form id="form2" name="form2" method="post" action="">
<label>
<input type="text" name="textfield2" id="textfield2" value="<?= $som ?>" >
</label>
</form>
 
Dit is niet goed. En als je je error_reporting en display_errors op het hoogste niveau had staan, zou je dat ook zien.

Wat gebeurt er nu als je de pagina aanroept terwijl het formulier niet verstuurd is? Dan gaat de parser toch $_POST[ 'x' ] willen gebruiken, terwijl die niet bestaat.

Daarnaast gebruik je twee keer dezelfde id. Ook 'Not Good'. Last, er staat een boel zooi die volledig overbodig is.

PHP:
<?php

  if ( $_SERVER[ 'REQUEST_METHOD' ] == 'POST' ) {
    
    echo '<input type="text" name="textfield3" id="textfield3" value="', $_POST[ 'x' ] + $_POST[ 'y' ], '">';

  } else {

    echo '<form name="form1" method="post" action="bereken.php">';
      echo '<input type="text" name="x" id="textfield1" /> ';
      echo '<input type="text" name="y" id="textfield2" />';
      echo '<input type="submit" value="submit">';
    echo '</form>

  }

?>

Nu is het wel goede code. Misschien voldoen sommige element nog niet helemaal aan bepaalde doctypes (geen name attribuut bij de submit bijv.), maar het is nu wel (redelijk) efficiente code.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan