HNT Forum
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-21%
Le deal à ne pas rater :
LEGO® Icons 10329 Les Plantes Miniatures, Collection Botanique
39.59 € 49.99 €
Voir le deal

Aide Regex/JS

4 participants

Aller en bas

Aide Regex/JS Empty Aide Regex/JS

Message par kakashi007 Jeu 14 Sep - 22:00

Yop,
j'ai besoin d'un peu d'aide pour ma super page scan (que j'essaye de securiser un peu) donc si quelqu'un qui s'y connait en Regex en JS pouvait corriger mes erreurs, ce serait sympa Very Happy

Regex verification d'un lien vers un fichier zip ou rar

Code:
#^http://[a-z0-9._-]\.[a-z]{2,4}/([a-z0-9._-%/]/|)\.(zip|rar){1}$#i

Regex vérification site web

Code:
#^http://[a-z0-9._-]\.[a-z]{2,4}(/[a-z0-9._-%/]|)$#i

pis niveau JS c'est un peu plus complexe.
En fait j'ai 2 fonctions qui m'ajoutent l'attribut readOnly si le type "chapitre" est sélectionné et me l'enleve si c'est l'autre type qui l'est
Sauf que lorsque le formulaire passe pas ma validation, je renvoie le visiteur sur le formulaire remplie des infos qu'il avait posté, et avec les erreurs commises indiquées.

Probleme :
il me faut checker le "radio" sélectionné auparavant par le visiteur
il faut que si c'est le type "chapitre" qui avait été selectionné, le input se remette en readOnly, chose qui ne se fait pas (seule le value est mis)

page (testez ce que vous voulez) : http://yaelmgob.free.fr/hnt_last/ajouter-en-construction.php

Mes fonctions JS
Code:

<script type="text/javascript">
function changesource(radio)
{
   document.forms["formulaire"].elements["source"].value = "http://www.hayaku-trad.com"
   document.forms["formulaire"].elements["source"].setAttribute("readOnly","readOnly")
}
function resetsource(radio)
{
   document.forms["formulaire"].elements["source"].value = ""
   document.forms["formulaire"].elements["source"].removeAttribute("readOnly")
}
</script>
<?
if ($manga != "")
{
   print'<script type="text/javascipt">';
   print'document.forms["formulaire"].elements["$manga"].setAttribute("checked","checked")';
   print'</script>';
}
else
{
   print'<script type="text/javascript">';
   print'document.forms["formulaire"].getElementByName["Yakitate"].setAttribute("checked","checked")';
   print'</script>';
}
if ($type != "")
{
   print'<script type="text/javascript">';
   print'document.forms["formulaire"].elements["$type"].setAttribute("checked","checked")';
   print'</script>';
}
else
{
   print'<script type="text/javascript">';
   print'document.forms["formulaire"].getElementByName["Raw"].setAttribute("checked","checked")';
   print'</script>';
}
if ($type == "Chapitre")
{
   print'<script type="text/javascript">';
   print'document.forms["formulaire"].elements["source"].value = "http://www.hayaku-trad.com"';
   print'document.forms["formulaire"].elements["source"].setAttribute("readOnly","readOnly")';
   print'</script>';
}
?>

PS : les 2 premieres fonctions JS (changesource et resetsource) marchent
kakashi007
kakashi007
Retraité HNT
Retraité HNT

Nombre de messages : 2365
Age : 34
Localisation : Here, There and Everywhere
Date d'inscription : 31/03/2005

http://www.yakitate-fr.com

Revenir en haut Aller en bas

Aide Regex/JS Empty Re: Aide Regex/JS

Message par Ryoma Jeu 14 Sep - 22:16

c'est quoi Rejex et JS ? héhé Mr.Red

****Edit RASO: boulet! plus de messages comme ça!
Ryoma
Ryoma
Rockstar PGM HNT
Rockstar PGM HNT

Nombre de messages : 3752
Age : 33
Localisation : GHWT =p
Date d'inscription : 02/10/2005

http://mypace.com/ryomastar

Revenir en haut Aller en bas

Aide Regex/JS Empty Re: Aide Regex/JS

Message par kakashi007 Ven 15 Sep - 19:25

bah si tu connais pas, pas la peine de poster, ça veut dire que tu peux pas l'aider ^^

PS : pour info, le Js = javascript, language web cr"ant des interractions sans avoir a recherger la page
regex, permet de faire une "recherche" dans un terme pour verifier qu'il possede bien les caractéristiques (par exemple, commence par un nombre) voulues. Permet soit de verifier des formulaires, soit de faire des recherches
kakashi007
kakashi007
Retraité HNT
Retraité HNT

Nombre de messages : 2365
Age : 34
Localisation : Here, There and Everywhere
Date d'inscription : 31/03/2005

http://www.yakitate-fr.com

Revenir en haut Aller en bas

Aide Regex/JS Empty Re: Aide Regex/JS

Message par falto Dim 17 Sep - 23:00

Hum je suis pas sûr d'avoir bien compris, mais en gros lorsque tu cliques sur le bouton radio "chapitre" tu changes la value de la source ?
alors pourquoi ne vérifierais tu pas en php lors du chargement de page, si $source != NULL
{
tu met ton lien
}
else
{
tu fait rien
}

Chuis pas sur de tout avoir compris ...

EDIT

En fait je crois que je viens de comprendre.

Tu veux que si tu as cliquez sur chapitres , après chargement de la page, chapitres soit checkés ?

Dis moi si c'est ça ? Wink
falto
falto
Editeur HNT
Editeur HNT

Nombre de messages : 832
Age : 35
Localisation : Créteil
Date d'inscription : 14/12/2005

http://shamballaalchemist.free.fr

Revenir en haut Aller en bas

Aide Regex/JS Empty Re: Aide Regex/JS

Message par kakashi007 Lun 18 Sep - 17:20

en gros on procede par etape :

- j'ouvre ma page : je n'ai pas encore posté donc les champs sont vides
- je rempli mes champs (avec une tite fonctionalité qui permet que, si on clique sur "chapitre" le champ chapitre se remplisse auto du lien vers HNT (ça ça marche déjà)

-je valide mon formulaire
- php vérifie que j'ai bien rempli les champs obligatoire (avec !empty etc)
puis si les champs sont bien rempli, je verifie que mon lien est bien un lien. C'est là que ma regex foire

là s'offre 2 possibilités :
1) mon formulaire est valide, je rajoute mes données dans la BDD (en ayant auparavant désactivé un eventuel script de hack a l'aide de htmlentities)
2) mon formulaire n'est pas valide : on me renvoie sur la page formulaire avec les champs tels que je les ai rempli. Ca c'est simple avec values. Mais !
si c'etait chapitre qui etait selectionné, la case chapitre est checkée, et le lien source est remplie auto avec le lien HNT est a l'attribut readOnly en place
sinon, c'est la case raw qui est checkée

j'espere que t'as compris ^^ en fait dans mon code, lors du rechargement du formulaire je dmande, si ma variable POST chapitre (qui est revenue vu que mon form est pas valide) est differente de rien alors, si c'est = raw, je check raw, sinn si c'est = chapitre, je check chapitre
kakashi007
kakashi007
Retraité HNT
Retraité HNT

Nombre de messages : 2365
Age : 34
Localisation : Here, There and Everywhere
Date d'inscription : 31/03/2005

http://www.yakitate-fr.com

Revenir en haut Aller en bas

Aide Regex/JS Empty Re: Aide Regex/JS

Message par ZabuZa93 Dim 24 Sep - 20:32

une question bete ...
A tu prevus une taille maximal a imposer pour un fichier genre l emec met 700mO et la le serveur devient fou ^^
ZabuZa93
ZabuZa93
Employé saisonnier chez Mamie Tsunade
Employé saisonnier chez Mamie Tsunade

Nombre de messages : 1090
Age : 35
Date d'inscription : 25/02/2006

Revenir en haut Aller en bas

Aide Regex/JS Empty Re: Aide Regex/JS

Message par kakashi007 Lun 25 Sep - 17:42

bah comme je ne propose que des liens externes et pas d'upload (nan mais c'est pas la charité là ^^) ya pas besoin de taille max (c'est juste dommage pour le pauvre 56k XD)
kakashi007
kakashi007
Retraité HNT
Retraité HNT

Nombre de messages : 2365
Age : 34
Localisation : Here, There and Everywhere
Date d'inscription : 31/03/2005

http://www.yakitate-fr.com

Revenir en haut Aller en bas

Aide Regex/JS Empty Re: Aide Regex/JS

Message par ZabuZa93 Lun 25 Sep - 21:38

ok ok sa yest je commence a percuter ^^ lentement mais surement
ZabuZa93
ZabuZa93
Employé saisonnier chez Mamie Tsunade
Employé saisonnier chez Mamie Tsunade

Nombre de messages : 1090
Age : 35
Date d'inscription : 25/02/2006

Revenir en haut Aller en bas

Aide Regex/JS Empty Re: Aide Regex/JS

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser