Goedemorgen PHP-ers,

Ik wil graag de uitkomst van <?php echo $_POST["firstname"]; ?> opslaan als een variable. Hoe doe ik dit?
Je kunt gewoon $_POST['firstname'] als variabele gebruiken.
Bedankt voor je antwoord, maar kan ik het ook opnieuw toewijzen?


Ward van der Put op 29/03/2016 10:12:53

Je kunt gewoon $_POST['firstname'] als variabele gebruiken.


Dat kan heel eenvoudig zelfs.


$firstName = $_POST['firstName']
Dankjewel Randy, daar was ik naar opzoek. Het is dus gewoon het standaard waarde aan VAR toevoegen verhaal.

In dit geval wil ik graag met IF ELSE spelen en het is helemaal leuk
als ik vanaf een ingevulde waarde dit kan doen. Bijvoorbeeld:

<?php

if ($_POST["age"] > 18) {

echo "Je bent volwassen";

}

else {

echo "Je bent nog niet volwassen";
}

?>

Randy vsf op 29/03/2016 10:27:58

Dat kan heel eenvoudig zelfs.


$firstName = $_POST['firstName']



Let er wel op dat alles wat uit een superglobal ($_GET, $_POST, $_COOKIE) komt van het type string is. PHP is "loosely typed", dat wil zeggen, zal normaal niet zo kritisch zijn over de typen van verschillende variabelen en zal ook automatisch vertalingen uitvoeren.

Ook al is de invoer van $_POST['age'] mogelijk numeriek, de waarde van $_POST['age'] is (in dit geval) altijd een string.

Wat je dus in feite vergelijkt is bijvoorbeeld:
<?php
if ('21' > 18) {
    // ...
} else {
    // ...
}
?>

Waarbij '21' door PHP wordt behandeld als getal.

Simpelweg omdat de taal voor het grootste deel ongevoelig (of adaptief) is voor dit soort nuances wil niet zeggen dat je hier zelf niet van op de hoogte hoeft te zijn.
Bedankt voor je commentaar Thomas. Heb ik zelf inderdaad nog niet over nagedacht. Weer wat geleerd:D

Verder aan het oefenenen en zit nu dus met het string/integer probleem:

[CODE]
Hoogte: <?php echo $_POST ["height"]; ?> <br />
Breedte: <?php echo $_POST ["width"]; ?>

<?php

$hoogte = $_POST["height"];
$breedte = $_POST["width"];

$vierkantemeter = $hoogte * $breedte;

$gezin = array("Jaap"=>"12", "Kees"=>"32", "Grietje"=>"14", "hansie"=>"17");

?>

<p>De kamer is <?php echo $vierkantemeter ?> vierkante meter</p>
<p>We delen de kamer op in 4 stukken. In dit geval is dat <?php echo $vierkantemeter /4; ?></p>
<p>Het kind welke als eerst geboren is, mag ook al eerste een kamer kiezen. Het gezin bestaat uit:
<?php sort($gezin,1); ?>
<?php echo $gezin; ?>



Foutmelding: Notice: Array to string conversion in C:\xampp\htdocs\oefening\les1.php on line 20
Array

Een array kan je geen echo bij gebruiken, wel bij elementen van een array.

<?php
$a = array(1,2,3);
echo $a; // Werkt niet
echo $a[0]; // Laat eerste element zien, dus 1
echo $a[1]; // Laat tweede element zien, dus 2

$gezin = array("Jaap"=>"12", "Kees"=>"32", "Grietje"=>"14", "hansie"=>"17"); 
echo $gezin['Jaap']; // Laat 12 zien
echo $gezin['Kees']; // Laat 32 zien etc..
?>
@Randy. Ik heb ervoor dus aangegeven om de Array numeriek te sorteren.
In dat geval is dit te Array:

1. Jaap (12)
2. Grietje (14)
3. Hansie (17)
4. Kees (32)

Ik kan inderdaad in formatie uit de array gewoon laten zien als echo $a[0].
Maar ik wil dat hij de gesorteerde array laat zien. Dus alle keys moeten getoond worden.
Dan krijg je zoiets als:

<?php

foreach($gezin as $key => $value) {
  echo $key . '(' . $value . ')<br>';
}
?>


BTW, als je de namen als key wilt behouden zal je een andere functie ipv sort moeten gebruiken.
<?php
foreach($array as $key => $value)
{
echo $key.' hoort bij '.$value.'<br/>';
}
?>

Reageren