Gå til innhold

Problemer med login


Anbefalte innlegg

Videoannonse
Annonse
Skrevet

Det var igrunn det jeg også så som svar på mine bønner, men merkelig nok blir det aldri lagt noe data inn i signatur kolonna. Da er det sikkert noe rart jeg har gjor et annet sted.

 

Takk for hjelpen.

Skrevet (endret)

Hmmmm...

 

Hadde et problem til, men fant visst ut av det selv.... :blush:

Endret av _TT_
Skrevet

Men fannt et problem til.... :D

 

Bare lurte på hvordan eg kan feks sjekke at brukeren ikke har brukt mellomrom eller uønskede tegn og i brukernavn og passord...

Skrevet

Hvis du vil gjøre variablene trygge med tanke på mysql kan du bruke mysql_escape_string() - den funksjonen burde du bruke på alt som går til en mysql database.

Dersom du vil sjekke mot tillatte tegn kan du f.eks. bruke eregi()

Skrevet

Har hengt på php.net hele dagen og prøvd å finne ut av ereg(), og hvordan eg kan få sjekkingen til slik eg vil ha det...

 

Målet er at de skal kunne bruke bokstaver A-Z og tall 0-9 + _ og - i brukernavn. Altså ikke kunne bruke spesialtegn og mellomrom. I tillegg skal det være minst 4 tegn og max 16.

 

Testet med:

 if (ereg('^[[:alnum:]]+$', $_POST['username'])) 

 

Som gjorde at en bare kunne bruke alfanumeriske tegn, som eg gikk ut ifra er kun a-z og 0-9. Men det går fremdeles an å skrive tegn som feks ! og # , som eg ikke ville at skulle være mulig...

 

Noen som vet?

Skrevet (endret)

En siste post... Greiene du foreslo Torbjørn funker visst alikevel, må ha vært skammelig trøtt eller høy på snus eller noe sånt, ville bare si takk.

Endret av RoyalSheep
Skrevet

 eregi("^[a-zæøå0-9_-]$",$variabel) 

 

Dette fungerer jo ikke. Kan fremdeles bruke spesialtegn, bare de bruker bokstaver i tillegg..

Skrevet (endret)

Du skal ha med en pluss der, men det skal ikke ha noe å si i forhold til at du kan legge til andre teng.

Få se hvordan du bruker koden og hvilke variabler som går gjennom.

 

EDIT:

Test denne så for du se hva den slipper gjennom av spesialtegn:

<?php
$variabel = "| § ! # ¤ % & / ( ) = ? ` ´ + @ £ $ € { [ ] } ^ ~ ¨ ' * - _ . : ,; < >";
$variabel = explode(" ", $variabel);

foreach($variabel as $tegn){
 echo $tegn.": ";
 if(eregi("^[a-zæøå0-9_-]+$",$tegn))
   echo "True";

 echo "<br>\n";
}
?>

Endret av ????????
Skrevet (endret)

Den printer ut kun _ og - som spesialtegn, men slik som eg bruker det så sjekker den jo bare om det som bruker skriver inn inneholder tegnene, ikke om den inneholder noe annet enn tegnene?

 

Eg vet ikke hvordan eg kan bruke den til å sperre for de tegnene eg ikke vil ha med...

Endret av _TT_
Skrevet

RoyalSheep: flott, ulogiske bruker feil er roten til alt ondt ;)

 

????: $variabel = "| § ! # ¤ % & / ( ) = ? ` ´ + @ £ $ € { [ ] } ^ ~ ¨ ' * - _ . : ,; < >"; <-- den hadde aldri jeg giddet å sette sammen, jeg er imponert :)

 

_TT_: kan du ikke paste 10 linjer kode som viser hvordan du bruker dette?

Skrevet
eregi("^[a-zæøå0-9_-]$",$variabel)

slik ??? sier her. bytt ut ditt forsøk på eregi med dette, og sleng på en pluss der jeg sier i neste post. denne testen er sann hvis brukernavnet bare inneholder de tegnene som står i klammeparentes

Skrevet

Den er sann hvis brukernavnet inneholder tegnene i klammeparantesen, altså sann også hvis brukernavnet inneholder spesialtegn. Den vil feks godta lsad"#¤.

 

Men eg har testet det ut litt og fannt ut at eg trur følgende kode fungerer. Den har sikkert litt unødvendig kode, men hva syns dere?

 

 <?
$item = $_POST['user'];
$escaped_item = mysql_escape_string($item);

if (ereg("^[a-z0-9_-]{4,16}$", $_POST['user'])){
}
elseif (!ereg("^[a-z0-9_-]+$", $_POST['user'])){
 echo 'Please enter a valid username. <br>';
 echo 'Only use characters a-z, numbers 0-9, _ and -. <br>';
 echo 'Username must be min. 4 characters and max. 16 characters';
 exit;
}
elseif(!$item != escaped_item){
 echo 'Please enter a valid username. <br>';
 echo 'Only use characters a-z, numbers 0-9, _ and -.<br>';
 echo 'Username must be min. 4 characters and max. 16 characters';
 exit;
}
else
{
 echo 'Please enter a valid username.<br>';
 echo 'Only use characters a-z, numbers 0-9, _ and -.<br>';
 echo 'Username must be min. 4 characters and max. 16 characters';
 exit;
} 

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...