Pagina 1 din 1

Sensibiliate la litere mari si mici

Scris: Lun Apr 15, 2013
de cadou
Deci problema e asa:
Daca cineva tasteaza ".../mesaje-Dragoste.php' sau ".../mesaje-DrAgOsTE.php" da eroare, dar daca scrie: "..../mesaje-dragoste.php" (cu litere mici) afiseaza.
Problema e la sensibilitate la litere mari si mici, cum rezolv problema ?

In htaccess :

Cod: Selectaţi tot

RewriteRule ^mesaje-([A-Za-z0-9-]+).php$ mesaje.php?categorie=$1 [NC,L]
In PHP:

Cod: Selectaţi tot

<?php session_start(); ini_set('display_errors',1); error_reporting(E_ALL);
include('connect.php');
if(isset($_GET['categorie']))
{ $categorie = $_GET['categorie']; 
$cat = array('dragoste', '1-8-martie', 'paste', 'craciun', 'anul-nou', 'onomastica');
}
if(isset($categorie))
{
if($categorie == in_array($categorie, $cat))
{
echo 'categorie '.$categorie.'';
}
else
{
echo 'eroare';
}
}
else
{
echo 'pagina principala';
}
?>

Sensibiliate la litere mari si mici

Scris: Lun Apr 15, 2013
de MarPlo
Salut,
Daca datele le ai inregistrate cu litere mici, poti folosi functia: strtolower() ca sa transformi datele pimite in litere mici.
Exemplu:

Cod: Selectaţi tot

$categorie = strtolower($_GET['categorie']);
 

Sensibiliate la litere mari si mici

Scris: Lun Apr 15, 2013
de cadou
Nu merge si cu litere mici si mari ?
Adica daca cineva tasteaza din greseala cu litere mari sau amestecate litere mari cu mici sa afiseze, nu sa dea eroare.

Sensibiliate la litere mari si mici

Scris: Lun Apr 15, 2013
de MarPlo
Tocmai la asta ajuta functia strtolower(), nu conteaza ce fel de litere sunt, iti transforma in litere mici valorile date ei in codul PHP.
Incearca exemplu /codul dat mai sus, sau adapteaza cum stii.
Mai mult nu e de explicat, doar testezi si verifici cu "echo" sau "var_dump()" datele folosite.

Sensibiliate la litere mari si mici

Scris: Lun Apr 15, 2013
de cadou
Nu la asta ma referam.
Deci in baza de date am categoriile cu litere mici, iar la conditia:

Cod: Selectaţi tot

if($cat == 'test')  {
 echo 'test';
}
Daca cineva tasteaza adresa de genu: "site.ro/xxxx-test.php", ii afiseaza ca e scris cu litere mici; dar daca tasteasa "site.ro/xxxx-TEST.php" sau "site.ro/xxxxxx-TEst.php" afiseaza eroarea definita.

Sensibiliate la litere mari si mici

Scris: Mar Apr 16, 2013
de MarPlo
Am inteles. Daca e vorba de numele fisierelor, din ce cunosc, nu prea ai ce face; nu tine de scriptul PHP, asta depinde de sistemul de operare si serverul respectiv.
De exemplu, pe Windows nu se face diferenta intre litere mari si mici la numele fisierelor /directoarelor ("fisier.ext" e acelasi cu "FISieR.ext"), dar pe sistemele Linux /Unix se face diferenta".
Trebuie ceva setari in fisierul "httpd.conf" din serverul Apache, dar nu stiu ce anume.

Sensibiliate la litere mari si mici

Scris: Mar Apr 16, 2013
de cadou
Am rezolvat problema.
Pana la urma am facut un array , ceva cu strtolower(), si am reusit ce vroiam.