Cijfers error

  • hallo allenmaal


    ik heb een script of jah een if(je) en volgensmij doet hij dan kijken of de persoon alleen cijfers invult maar nu is het zo dat hij het doet maar als je een 1 in vult krijg je ook de error kan iemand mij mischien uitleggen wat hier de reden van is is dit een ander comando dan ik denk dat het is ? dacht ik mischien kan iemand mij dit uitleggen of heb ik een fouten gemaakt alleen helpoen als je tijd en zin hebt hoor!!!!! maar alfast bedankt


    Het stukje if

    PHP
    if($_POST['soldlvl1'] == preg_match('/^[0-9]+$/',$_POST['soldlvl1'])){
    		echo"<tr><td class=\"mainTxt\">Je mag bij Lvl-1 soldaten alleen cijfers invullen</td></tr>";
    	}
  • Guest, wil je besparen op je domeinnamen? (ad)
  • Preg_match() retouneerd het aantal matches. Sinds ^ het begin betekend en $ het einde zal dat dus 0 of 1 zijn. '1' == 1 in php. Die 1 komt van preg_match(), '1' is de string die de gebruiker opgeeft. Je wilt die error alleen geven als de preg_match() 0 retouneerd.

  • oke dus jah sorry maar ik snapte het niet heelenmaaal ben niet zo sim dus heb mijn vader gevraagd en die zecht dat ik dus een if moet maken met dat als de persoon 1 invult dat hij dan ziet als 2 of niet ? owja bedankt nog!


    nu heb ik dit dus gemaakt wat ik wel nog moet testen hoor haha maar ik denk dat het wel werkt (hoop ik)


    PHP
    if($_POST['soldlvl1'] == preg_match('/^[0-9]+$/',$_POST['soldlvl1']) && $_POST['soldlvl1'] != 1){
    		echo"<tr><td class=\"mainTxt\">Je mag bij Lvl-1 soldaten alleen cijfers invullen</td></tr>";
    	}
  • PHP
    if(!preg_match('/^[0-9]+$/',$_POST['soldlvl1'])) {
            echo "<tr><td class=\"mainTxt\">Je mag bij Lvl-1 soldaten alleen cijfers invullen</td></tr>";
    }


    Waarschijnlijk heb je niet goed begrepen wat Darsstar zegt, ik zal het even uitleggen (zie het script)


    In preg_match geef je al aan dat de variabele $_POST['soldlv11'] moet worden vergeleken met de reguliere expressie.


    De fout zit hem dus in het vergelijken, jij zegt


    Kijk of $_POST['soldlv11'] gelijk is aan een match van $_POST['soldlv11'] die TRUE of FALSE zal retourneren.
    Met andere woorden, je gaat een variabele vergelijken met preg_match die enkel 1 of 0 terug zal sturen.


    In het script dat ik je gegeven heb staat het volgende:


    Als (if) preg_match niet positief (TRUE) is dan FALSE (0) retourneert voer dan deze echo uit.


    Hopelijk begrijp je het wat, de code zou nu ook moeten werken.

  • Wow echt bedankt voor jullie reacties en hulp!! als ik iets terug kan doen zeg maar hoor maar ik heb niet zo vaak internet zowiezo niet door de weeks (lang verhaal sorry) en in het weekend zodra ik tijd heb zit ik achter de computer haha! maar echt bedankt hoor!!!!!


    ik moet vanavond mijn vader eventjes vragen of hij er met mij naar kijkt maar mag ik nog eventjes een of 2 klijne vraagjes stellen als jullie denken van pfff dan hoef je geen andwoord te geven hoor!


    als je die if hebt staat na het eerste haakje een uitroepteken wat doet die if(! ... ) uitroepteken is dat gewoon als dat niet zo is (wat er achter die uitroepteken staat) of is het iets anders?


    voor de rest moet ik nog even met mijn vader naar kijken die probeerd mij altijd ook te helpen ook wel aardig van hem hoor want hij heeft het al druk maar ik denk dat ik het dan verder wel snap hoop ik BEDANKT voor jullie reacties!


    owja en sorry dat ik niet zo heel vaak anderen help of layout check ik kijk wel vaak naar layout maar of het staat er al wat ik ook dacht of ik durf het niet te zeggen want ik wil niet afkraken jah maar als ik uit alle problemen ben en ik heb een eigen huisje met vrijwillergers werk dan kan ik ook veel meer anderen ook helpen! dus daarom is dat sorry daarvoor en sorry dat ik zo vaak sorry zeg komt door mijn ziektes


    groetjes tim

  • bedankt voor jullie hulp!!!!!


    Ik heb het geprobeerd met papa samen :D


    maar nu heb ik in mijn hoofd zitten dat

    PHP
    if(! $data->login == admin


    dat hij hem dan wel weergeefd als de naam niet admin is en dat als de naam admin is dat hij hem dan overslaat ? ... of ben ik nu wel heel dom sorry dan!


    of is IF(! het zelfde als !=


    groetjes tim

  • Laat ik het anders formuleren, als je bijvoorbeeld de functie preg_match() gebruikt dan is het het beste om het uitroepteken voor de functie te zetten.


    Bij een vergelijking zoals kijken of admin niet overeenkomt met een variabele in dit geval $data->login dat afkomstig is van een database kun je het beste != (is niet gelijk aan).


    Wat je hieruit kunt onthouden is dus variabele zoals $var dan gebruik je != en als je functies of methods gebruikt dan het uitroepteken voor de functie zetten.

Participate now!

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