Klein PHP vraag

  • Hallo Allemaal,


    ik wil dat hij controleerd of hij de rank of aantal keer heeft gebelt als 1 van deze klopt dat hij de echo geeft, nu controleerd hij of ik beiden heb en dat is niet de bedoeling kan iemand een voorbeeld neerzetten wil het liefst in 1 regel.



    PHP
    if( ( $data['rank'] <= 3  ) || ( $data['aantalxgebeld'] 
    <= 2 ) ) {
    echo "gefelicteerd";


    bedankt

  • Als het goed is, zou dit gewoon moeten werken.. Ik zou wel even een } na je echo zetten, anders word je if-loopje niet afgesloten :) Daarbij kan je, volgens mij, ook "OR" gebruiken, misschien eventjes handiger als je het niet zo op ||

    PHP
    if( $data['rank'] <= 3 || 
    $data['aantalxgebeld'] <= 2 ) {
    echo "gefelicteerd";
    }


    Wat ik overigens wel vaag vind, is dat, als je bijv. meer dan 2 keer hebt gebeld dat bericht niet zou krijgen als ook je rang niet voldoet... Zou het niet beter zijn om er ">=" in plaats van "<=" neer te zetten? Nu word je in principe gefeliciteerd omdat je niet gebeld hebt :P

  • Het werk nog steeds niet echt want volgens mij moet ik aan beide verplichten voldoen hogere dan 2 bellers en hoger dan rank 3 zijn



    PHP
    if( $data['rank'] > 3 || 
    $data['aantalxgebeld'] >= 2 ) {
    echo "gefelicteerd";
    }


    OR heb ik ook geprobeert maar werkt ook niet...

  • 100% klopen de values ik heb dit nog een keer voor de zekkerheid gecontroleerd en heb ook >= neergezet voor hogere rank dan 3 maar werkt niet het werkt wel als ik rank 3 en meer dan 2 bellers heb en als ik OR tussen zet in plaats van || gebreurt er niks.

  • PHP
    if( ($data['rank'] > 3) || ($data['aantalxgebeld'] >= 2) ) {
    echo "gefelicteerd";
    }
    else { echo "Je bent nog niet gefeliciteerd. HA!"; }


    Dit zóu moeten werken... Doe anders eens echo $data['rank'];, kijken of hij uberhaupt wel wat ziet...

  • Het werkt thx heb nu nog een klein probleem de exit werk niet.


    PHP
    if( ($data['rank'] > 3) || ($data['aantalxgebeld'] >= 2) ) {
    echo "gefelicteerd";
    }
    else { echo "Je bent nog niet gefeliciteerd. HA!"; }  
    exit;
    }
  • omdat ik het in bestaande scripts wil gebruiken en zonder exit slaat hij het over had daarom zo oplossing verzonnen die alleen de melding geeft als je er niet aan voldoet en als je er wel aan voldoet moet je geen melding krijgt maar dat werkte niet.



    PHP
    if( ( $data['rank'] <= 3  ) || 
    ( $data['aantalxgebeld'] <= 2 ) ) {
    echo "Gefelicteerd";
    exit;
    }
  • Exit werkt, zover ik weet, alleen bij de huidige loop... In de else-komt hij niet, of staat deze in een andere if? Je zou kunnen overwegen om GoTo te gebruiken, hoewel ik het afraad omdat het onoverzichtelijk is :)

  • dus wat Jannick heeft gemaakt, Maar stel hij heeft het niet dan zal wel een melding netjes zijn toch hoe kan ik dat er bij zetten?


    PHP
    if( ($data['rank'] > 3) || ($data['aantalxgebeld'] >= 2) ) {
    echo "gefelicteerd";
    exit;
    }
  • ik had gefelicteerd als voorbeeld gebruikt de bedoeling is eigelijk dat de melding komt als je lager dan rank 3 bent of minder dan 3x hebt gebelt dan komt de exit anders gaat hij door met het script.

  • ??
    Je moet het zo doen:

    PHP
    if($data['rank'] > 3) || $data['aantalxgebeld'] >= 2){
    echo 'gefelicteerd';
    } else{
    echo 'U bent gay en mag dit niet!';
    }


    Gebruik verder ALTIJD '' en geen "" bij echo's, en bij de if hoef je geen 20 keer () te plaatsen, 1x is voldoende!


    PHP
    if($data['rank'] > 3) && $data['aantalxgebeld'] >= 2){
    echo 'gefelicteerd';
    } else{
    echo 'U bent gay en mag dit niet!';
    }


    Was vergeten of je || of && wou ;)

  • @Larsisgoed9 waarom altijd ' gebruiken? Ik zou je gedrag maar eventjes iets indimmen, je zegt dingen die logisch lijken, maar die ten koste gaat van de overzichtelijkheid.


    Drona Dan zou je met een andere if-loop in de { } van gefeliciteerd moeten werken, dat lijkt me dan het beste

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!