<?

$kans1 = rand(0,100);

echo je hebt $kans1;

$kans2 = rand(0,100);

echo $kans2;

$lijn3 = "kans 2 is grooter dan 1";
if ($kans2 < $kans1)
{
echo $lijn3;
}
?>
krijg ik telkens echo verkeert help me plz
ik ben nu vedder gaan scripten ik heb nu dus veel vedder maar ik krijg nu een probleem met <php
ik krijg de melding Parse error: parse error, unexpected $ in 20
<?php
$kans1 = rand(0,100);
$kans2 = rand(0,100);
?>
<form action="" method="post">
<input type="radio" name="titel" value="1"> <?php echo 'kans 1: '.$kans1; ?> <br>
<input type="radio" name="titel" value="2"> <?php echo 'kans 2: '.$kans2; ?> <br>
<input type="submit" value="Versturen">
<?php
if ($_POST["titel"]=="1") {
if ($jail == 2)
{
echo '<b>je zit in de bak</b>';
}
if ($jail == 1)
{
$bedrag = rand(0,10);
echo 'Je heb: '.$bedrag;
}
?>
Probeer je { en } te sluiten:

<?php
$kans1 = rand(0,100);
$kans2 = rand(0,100);
?>
<form action="" method="post">
<input type="radio" name="titel" value="1"> <?php echo 'kans 1: '.$kans1; ?> <br>
<input type="radio" name="titel" value="2"> <?php echo 'kans 2: '.$kans2; ?> <br>
<input type="submit" value="Versturen">
<?php
if ($_POST["titel"]=="1") {
if ($jail == 2)
{
echo '<b>je zit in de bak</b>';
}
if ($jail == 1)
{
$bedrag = rand(0,10);
echo 'Je heb: '.$bedrag;
}
}
?>
Je if ($_POST["titel"]=="1") { wordt niet afgesloten met een }.

Verder wat kleine tips:
  • [item]<?= 'kans 1: '.$kans1; ?> is kortere manier voor <?php echo 'kans 1: '.$kans1; ?>[/item]
    [item]$_POST['titel'] is weer ietsjes sneller dan $_POST["titel"], zelfde reden als bij een echo er wordt niet meer op variabelen gecontroleerd als het tussen enkele quotes staat[/item]
    [item]Maak van $_POST["titel"]=="1" $_POST["titel"] == 1 zoals je ook bij $jail == 1 doet. Het is voor jezelf handiger om spaties om de == te zetten dan is het overzichtelijker (maar dat is persoonlijk, echte punt komt nu eigenlijk..) en 1 is een integer (geheel getal) daar hoeven geen quotes omheen[/item]

wat moet ik bij de $_POST["titel"]=="1" zetten als ik <input type="radio" name="titel" value="1"> heb moet ik dan

$_POST["valuel"] == "1" doen michien of was idd die titel toch goed?
Titel is goed:
<? $_POST['titel'] == 1 ?>
:s dan doe ik zkr wat verkeeerd want hij pakt hem niet door die post titels enzo :s want ik krijg geen beelt dus ik denk toch idd dat het anders is

<?php
if ($_POST['titel'] == 1)
{
if ($jail == 2){
echo '<b>je zit in de bak</b>';
}
if ($_POST['titel'] == 2)
$bedrag = rand(0,10);
echo 'Je heb: '.$bedrag;
}
}
?>
Je if ($_POST['titel'] == 2) mist een {

Zo zou het moeten werken:

<?
if ($_POST['titel'] == 1) {
if ($jail == 2) {
echo '<b>je zit in de bak</b>';
}
if ($_POST['titel'] == 2) {
$bedrag = rand(0, 10);
echo 'Je heb: '.$bedrag;
}
}
?>
Ja idd ow ik zie het al

<?php
if ($_POST['titel'] == 1)
{
?>

had ik en het moet dus op 1 lijn ook dat open(en) dat wist ik niet bedankt
Het hoeft niet perse op 1 lijn, dat is ook maar net wat je zelf het fijnste vind. Ik zie het wel het vaakst op die manier maar als je op de regel eronder fijner vind kan natuurlijk ook :)
Wat ik wel zou doen als ik jou was is tabs gebruiken om de regels tussen { en } in te laten springen.

<?
if ($var1 == 10) {
echo 'hoi';
}
if ($var2 == 10) {
echo 'hossa';
}
?>

Het valt in dit simpele voorbeeldje nog niet echt op maar als je mijn vorige post leest zul je het al beter zien. Door gebruik te maken van tabs zie je ook precies wanneer je vergeet een if af te sluiten doordat het 'terugtabben' niet goed uitkomt, dan krijg je zoiets:

<?
if ($var1 == 10) {
if ($var2 == 10) {
echo 'taart';
}

// de } staat niet tegen de linker kantlijn dus er klopt iets niet :)
?>

Ook niet verplicht maar wel veel overzichtelijker voor jezelf, zeker als je over een jaar nog eens iets aan wil passen in je script :)
Dit kan ook:
<?
if($var1 == 10)
echo 'hoi';
else
echo 'doei';
?>

Reageren