[PHP] Login vraag

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • YoshiBignose
  • Registratie: April 2004
  • Laatst online: 12-09 14:51
Ik gebruik:
code:
1
2
3
4
5
6
7
8
<?php
    session_start();
    
    if(!isset($_SESSION['SESS_MEMBER_ID']) || (trim($_SESSION['SESS_MEMBER_ID']) == '')) {
        header("location: access-denied.php");
        exit();
    }
?>


Nu wil ik nog een check doen. Als die memberID klopt, moet er nog gechecked worden op deze variabel: $_SESSION['SESS_PAID']

Nu moet hij checken of de eerste LETTER ergens mee matched. Kan dit? Dus bijv: als eerste letter L is dan oke, als eerste letter P is dan naar access-denied2.php.

Facts don't care about your feelings


Acties:
  • 0 Henk 'm!

Verwijderd

Een check of de eerste eerste letter van $_SESSION['SESS_PAID'] niet numeriek is, en deze gelijk is aan bijvoorbeel de 'B'.

Deze functies kun je daarbij gebruiken

http://php.net/manual/en/function.is-numeric.php
http://php.net/manual/en/function.substr.php

[ Voor 171% gewijzigd door Verwijderd op 06-12-2009 01:07 ]


Acties:
  • 0 Henk 'm!

  • YoshiBignose
  • Registratie: April 2004
  • Laatst online: 12-09 14:51
Mag het iets duidelijker? Ben niet zo heel goed met PHP.

Facts don't care about your feelings


Acties:
  • 0 Henk 'm!

  • Boudewijn
  • Registratie: Februari 2004
  • Niet online

Boudewijn

omdat het kan

Je kunt met die 2 functies doen wat jij wil? Of wil je een uitgewerkte versie van je code? :+

i3 + moederbord + geheugen kopen?


Acties:
  • 0 Henk 'm!

  • Raynman
  • Registratie: Augustus 2004
  • Nu online
In PHP kon je toch ook strings als arrays benaderen, dus met subscripts? Net iets simpeler dan substr als het om slechts één letter gaat.

Ik snap zo snel trouwens niet wat is_numeric ermee te maken heeft.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

access-denied.php én access-denied2.php? Durf ik te vragen waarom daar een onderscheid is? ;)

En verder: substrings trekken, je string als array benaderen of zelfs regular expressions zouden kunnen. Wat snap je precies niet aan de handleidingspagina van substr? Wat is_numeric hiermee te maken heeft begrijp ik overigens ook niet echt. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

YoshiBignose schreef op zondag 06 december 2009 @ 01:01:
Nu moet hij checken of de eerste LETTER ergens mee matched. Kan dit? Dus bijv: als eerste letter L is dan oke, als eerste letter P is dan naar access-denied2.php.
Volgens mij bedoelt hij hiermee de eerste letter.. dus stel dat de string 23L is, dan is de eerste letter de L en niet de 2.. met is_numeric kan je checken of het een letter is of cijfer..

Acties:
  • 0 Henk 'm!

  • YoshiBignose
  • Registratie: April 2004
  • Laatst online: 12-09 14:51
Thnx.

Facts don't care about your feelings


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Verwijderd schreef op zondag 06 december 2009 @ 12:27:
[...]

Volgens mij bedoelt hij hiermee de eerste letter.. dus stel dat de string 23L is, dan is de eerste letter de L en niet de 2.. met is_numeric kan je checken of het een letter is of cijfer..
is_numeric('23L') == false. En dan? ;) is_numeric('35&34') is ook false, wil nog niet zeggen dat je dan ook met letters te maken hebt. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Precision
  • Registratie: November 2006
  • Laatst online: 12-08 21:08
NMe schreef op zondag 06 december 2009 @ 16:36:
[...]

is_numeric('23L') == false. En dan? ;) is_numeric('35&34') is ook false, wil nog niet zeggen dat je dan ook met letters te maken hebt. ;)
Ik denk dat hij een iteratie bedoelt en dat er karakter per karakter dan gekeken wordt of het numeriek is dan wel een letter. Maar de manier die aangereikt wordt om dit te controleren, is niet correct.

$check = range('A', 'Z');
Maar eerst zou ik dan, alles in hoofdletters plaatsen, strtoupper()
En dan iteratief karakter per karakter er doorlopen, gebruik maken van substr en dan kijken of het in de array staat in_array() waarbij je gebruik maakt van $check

http://www.php.net/manual/en/function.substr.php
http://be2.php.net/manual/en/function.in-array.php
http://be2.php.net/manual/en/function.strtoupper.php
http://be2.php.net/manual/en/function.range.php

Maar waarschijnlijk bestaat er wel een betere oplossing.

Edit 2: Omdat een string ook maar een array is, kun je deze ook aanroepen als zijnde $naamVanString[$pos] en heb je de substr niet meer nodig. Voor je iteratie heb je wel nog strlen nodig

http://be2.php.net/manual/en/function.strlen.php

[ Voor 57% gewijzigd door Precision op 06-12-2009 17:15 ]

Crisis? Koop slim op Dagoffer - Op zoek naar een tof cadeau?


Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Het kan met een paar standaard functions, dus ts mag eerst wat proberen. Verder ontgaat de logica achter de letter controle mij wel, maar soit.

{signature}


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

PHP:
1
2
preg_match('/[^a-z]*([a-z])/i', $string, $matches);
echo $matches[1];

Dus.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1