Forum » Server-Side scripting » Alleen cijfers?
Leert scripten!
Berichten: 236
avatar
Offline Stuur privebericht
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)

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
if( preg_match'/^[0-9-]+$/'$telefoonnummer ) == ) {
    
        
$error .= '- Je telefoonnummer mag alleen uit cijfers bestaan.'
    
    }



Als iemand weet hoe het wel werkt, hoor ik het graag.
25-06-2011 18:58
Dit topic is 483 keer bekeken door 55 verschillende leden
Reacties op: "Alleen cijfers?"
1 | 2 | 3 Volgende pagina
Vreemd
Berichten: 1246
avatar
Offline Stuur privébericht
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
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.
25-06-2011 19:09
Leert scripten!
Berichten: 236
avatar
Offline Stuur privébericht
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.
25-06-2011 19:15
Rapifia Europe
Berichten: 3716
avatar
Offline Stuur privébericht
Dan maak je een OR erin. Dus if((isset($_POST['veld'])) && ctype_digit($_POST['veld'])) || !isset($_POST['veld'])){.
25-06-2011 19:17
Hmm
Berichten: 931
avatar
Offline Stuur privébericht
doe dit en het zal werken

Code | Selecteer Alles
minimaliseren
1
2
if(! ctype_digit($_POST['HIER']))
 echo
"alleen cijfers";
25-06-2011 20:47
Rapifia Europe
Berichten: 3716
avatar
Offline Stuur privébericht
@habib10,
Nee dat is hardstikke fout. Je controleert nu of het niet allemaal uit getallen bestaat, echter bestaat een lege input (niks ingevuld) niet uit een cijfer / integer dus werkt jouw manier voor de TS niet. Als het goed is werkt mijn manier wel.
25-06-2011 23:20
Berichten: 866
avatar
Offline Stuur privébericht
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
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?
26-06-2011 08:17
Rapifia Europe
Berichten: 3716
avatar
Offline Stuur privébericht
@Malik,
Ook verkeerd, nu geef je een error als de input uit allemaal cijfers bestaat...

Edit: ik zie dat je net een ! hebt toegevoegd, dit had je eerst niet nl.
26-06-2011 11:16
Berichten: 866
avatar
Offline Stuur privébericht
Nee hoor

haha maar ok mijn code is goed!
26-06-2011 11:28
Berichten: 7
avatar
Offline Stuur privébericht
Als je er echt niet uitkomt doe je ditxD

Code | Selecteer Alles
minimaliseren
1
2
if(! ctype_digit($_POST['HIER']) AND $_POST['hier'] != '')
 echo
"alleen cijfers";


Dan werkt hij als het goed is(K)
26-06-2011 12:20
Leert scripten!
Berichten: 236
avatar
Offline Stuur privébericht
Ja dat zou normaal werken in een nogal normaal script, maar mijn script nogal anders in elkaar.

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
if( preg_match'/^[0-9-]+$/'$telefoonnummer ) == ) { 
     
        
$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?
26-06-2011 13:35
Reageer op: "Alleen cijfers?"
1 | 2 | 3 Volgende pagina
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden