Alleen cijfers?

  • Heey allemaal,


    Ik heb een website waar je gratis kan hosten. Maar bij het registeren heb ik een optie bij gemaakt. Namelijk je telefoon nummer invoeren. Dit om bijvoorbeeld een sms te sturen indien je website eruit ligt of iets. (dit gaat geheel automatisch).


    Maar nu wil ik ervoor zorgen dat je alleen getallen mag invoeren. Maar dat lukt met niet. Als ik het doe zegt hij tijdens het registeren steeds mag alleen getallen invullen terwijl er getallen staan. Dit is het stukje waar het om gaat:( telefoonnummer invoeren in niet verplicht trouwens)


    PHP
    if( preg_match( '/^[0-9\-]+$/', $telefoonnummer ) == 0 ) {
    	
    		$error .= '- Je telefoonnummer mag alleen uit cijfers bestaan.<br />'; 
    	
    	}



    Als iemand weet hoe het wel werkt, hoor ik het graag.

    PHP, JAVA, C#, JAVASCRIPT, HTML(5), CSS(3) developer.
    Vragen?! Stuur me gerust een prive bericht :) !

  • PHP
    if( ! empty( $telefoonnummer ) AND ! ctype_digit( $telefoonnummer ) ) {
        
            $error .= '- Je telefoonnummer mag alleen uit cijfers bestaan.'; 
        
        }


    Nu kom je pas bij de controlle of het alleen cijfers zijn als $telefoonnummer niet leeg is.
    Zo is het dus optioneel.

  • Nee, zo krijg je dan het telefoonnummer verplicht is. Maar dat is niet de bedoeling. Het telefoon nummer moet niet verplicht zijn. Maar er mogen wel alleen maar cijfer in het input veld zijn.

    PHP, JAVA, C#, JAVASCRIPT, HTML(5), CSS(3) developer.
    Vragen?! Stuur me gerust een prive bericht :) !

  • PHP
    if ( isset($_POST['telefoonnummer']) && !ctype_digit($_POST['telefoonnummer']) )
    {
    	$error .= '- Je telefoonnummer mag alleen uit cijfers bestaan.'; 
    }
    else {
    	// hier kan dan je dan verder gaan
    }


    Dan maar deze?

  • Ja dat zou normaal werken in een nogal normaal script:P, maar mijn script nogal anders in elkaar.


    PHP
    if( preg_match( '/^[0-9-]+$/', $telefoonnummer ) == 0 ) { 
         
            $error .= '- Je telefoonnummer mag alleen uit cijfers bestaan.';  
         
        }


    Zo ongeveer moet het, maar dan krijg je continu als je als nog een nummer invoert: je mag alleen cijfers invoeren. Die melding krijg je gewoon elke keer. Hoe dit op te lossen?

    PHP, JAVA, C#, JAVASCRIPT, HTML(5), CSS(3) developer.
    Vragen?! Stuur me gerust een prive bericht :) !

  • @brokenTrack, ten eerste word het telefoon nummer later pas opgeslagen in de database.
    En ten tweede je telefoon nummer invoeren is niet verplicht. Zie hier onder mijn gehele aanmelden.php:(hoe die nu is en hoe die het dus niet doet;))


    PHP, JAVA, C#, JAVASCRIPT, HTML(5), CSS(3) developer.
    Vragen?! Stuur me gerust een prive bericht :) !

  • Citaat van mentimjojo

    @brokenTrack, ten eerste word het telefoon nummer later pas opgeslagen in de database.
    En ten tweede je telefoon nummer invoeren is niet verplicht. Zie hier onder mijn gehele aanmelden.php:(hoe die nu is en hoe die het dus niet doet;))


    Precies wat jij wilt dus.

  • PHP
    if ( isset($telefoonnummer) && !ctype_digit($telefoonnummer) )
    {
        $error .= '- Je telefoonnummer mag alleen uit cijfers bestaan.'; 
    }
  • Leest niemand andermans reactie? Darsstar had het in het begin al goed met de volgende code:


    PHP
    if( ! empty( $telefoonnummer ) AND ! ctype_digit( $telefoonnummer ) ) {
        
            $error .= '- Je telefoonnummer mag alleen uit cijfers bestaan.'; 
        
        }


    In pseudocode staat hier:


    ALS het veld telefoonnummer niet leeg is EN het telefoonnummer niet uit alleen maar cijfers bestaat


    FOUT


    Dit voldoet perfect aan de eis van TS...

  • PHP
    if(! ctype_digit($telefoonnummer) AND $telefoonnummer != '')
            $error .= '- Je telefoonnummer mag alleen uit cijfers bestaan.';


    Doe dit inplaats


    PHP
    if( preg_match( '/^[0-9-]+$/', $telefoonnummer ) == 0 ) { 
         
            $error .= '- Je telefoonnummer mag alleen uit cijfers bestaan.';


    Dit werkt gewoon:)

  • PHP
    if( ! empty( $telefoonnummer ) AND ! ctype_digit( $telefoonnummer ) AND strlen( $telefoonnummer ) < 8 ) {
        
            $error .= '- Je telefoonnummer mag alleen uit cijfers bestaan.'; 
        
        }


    Hier word gekeken of het de juiste lengte heeft;)

Participate now!

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