Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]walidacja apostrofow przez php
Forum PHP.pl > Forum > Przedszkole
guingampe
Witam

moj formularz jest validowany w js i w php. W js bez problemow waliduje wszystkie znaki lacznie ze znakiem apostrofu natomiast php nie radzi sobie z apostrofem. Probowalem go zapisywac rowniez jako ’ ale bez powodzenia.

w js ujalem to jako
sprawdzacz.addValidation("societe","regexp=^[\-\'0-9a-zA-ZęĘóÓ±ˇ¶¦łŁżŻĽ¬ćĆńŃéèëàâûùêîôöçïÉÈËÀÂÛÙÊÎÔÖÇÏ\.]{3,50}$","La valeur du champ Société est incorrecte.");
a w php

if(!preg_match('|^[\-\'0-9a-zA-ZęĘóÓ±ˇ¶¦łŁżŻĽ¬ćĆńŃéèëàâûùêîôöçïÉÈËÀÂÛÙÊÎÔÖÇÏ\.]{3,50}$|e', $societe)) { echo "La valeur du champ Société est incorrecte!"; break; }


Co moze byc powodem, ze php nie akceptuje znaku apostrofu?
papryk
Jest już trochę póĽno, ale wydaje mi się, że działa poprawnie :] Nie wiem czego Ci ma nie akceptować.
nekomata
Sprawdziłem programem regex coach (dużo szybciej niż miałbym pisać skrypt) , działa ale jako że wiem jak bardzo ludzie boj± się pobierać pliki napisałem ci prosty skrypt do sprawdzania preg_match(nudzi mi się więc pisze skrypty haha.gif)
  1. <?php
  2.  
  3. if(isset($_GET['regex'])){
  4. if(preg_match($_GET['regex'],$_GET['text'])){
  5. echo 'Regex : '.$_GET['regex'].' jest poprawny z stringiem : '.$_GET['text'].' .';
  6. }
  7. else{
  8. echo 'Regex : '.$_GET['regex'].' nie jest poprawny z stringiem : '.$_GET['text'].' .';
  9. }
  10. }
  11. else{
  12. echo '<form method="GET" >
  13. <input type="text" name="regex" value="regex" />
  14. <input type="text" name="text" value="text" />
  15. <input type="submit" value="testuj" />
  16. </form>';
  17. }
  18. ?>

twój regexp jest poprawny, a inna rzecz : serio sam pisałe¶ ten skrypt?Po brazylijsku czy hiszpańsku albo włosku?W±tpie.

EDIT : Sprawdziłem , francuski haha.gif .
Fifi209
Problem może leżeć po stronie konfiguracji samego php.

Dokładniej w php.ini możesz mieć wł±czone magic quotes - i to robi zamęt.
guingampe
Cytat(nekomata @ 4.03.2011, 03:25:42 ) *
Sprawdziłem programem regex coach (dużo szybciej niż miałbym pisać skrypt) , działa ale jako że wiem jak bardzo ludzie boj± się pobierać pliki napisałem ci prosty skrypt do sprawdzania preg_match(nudzi mi się więc pisze skrypty haha.gif)
  1. <?php
  2.  
  3. if(isset($_GET['regex'])){
  4. if(preg_match($_GET['regex'],$_GET['text'])){
  5. echo 'Regex : '.$_GET['regex'].' jest poprawny z stringiem : '.$_GET['text'].' .';
  6. }
  7. else{
  8. echo 'Regex : '.$_GET['regex'].' nie jest poprawny z stringiem : '.$_GET['text'].' .';
  9. }
  10. }
  11. else{
  12. echo '<form method="GET" >
  13. <input type="text" name="regex" value="regex" />
  14. <input type="text" name="text" value="text" />
  15. <input type="submit" value="testuj" />
  16. </form>';
  17. }
  18. ?>

twój regexp jest poprawny, a inna rzecz : serio sam pisałe¶ ten skrypt?Po brazylijsku czy hiszpańsku albo włosku?W±tpie.

EDIT : Sprawdziłem , francuski haha.gif .


Serdecznie dziekuje za pomoc. Co do skryptu to pochodzi z ksiazki php i mysql L. Welling i L. Thomson. Natomiast teksty francuskie sa mojego autorstwa.

Cytat(fifi209 @ 4.03.2011, 08:21:08 ) *
Problem może leżeć po stronie konfiguracji samego php.

Dokładniej w php.ini możesz mieć wł±czone magic quotes - i to robi zamęt.



Serdecznie dziekuje za podpowiedz. Problem apostrofow zniknal przy ustawieniu magic_quotes_gpc = Off

Temat zamkniety.
To jest wersja lo-fi głównej zawarto¶ci. Aby zobaczyć pełn± wersję z większ± zawarto¶ci±, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.