J'ai quelques erreurs de syntax...

DOFUS
Invité n'ayant pas de compte PHPfrance

13 juil. 2007, 12:05

Bonjour, je sais, trés bien que le code que je vais vous présenter est bien long at qu'il y a moyen de faire beaucoup plus court, mais bon sa ma flaisir d'étudier tout les cas possibles lignes par lignes... Ma question est "Y a t-il des erreur d'inatention ou autres ?", merci.

Normalement je peut le vérifier mais j'ai un petit problème avec mon esayphp...
<?php

include('inc/inc_start.php');

//--->> RECEPTION

$sd01 = $_POST['civilite'];
$sd02 = $_POST['nom'];
$sd03 = $_POST['prenom'];
$sd04 = $_POST['idserveur'];
$sd05 = $_POST['date_de_naissance_jour'];
$sd06 = $_POST['date_de_naissance_mois'];
$sd07 = $_POST['date_de_naissance_annee'];
$sd08 = $_POST['sexe'];
$sd09 = $_POST['numero_de_rue'];
$sd10 = $_POST['rue'];
$sd11 = $_POST['code_postal'];
$sd12 = $_POST['batiment'];
$sd13 = $_POST['etage'];
$sd14 = $_POST['porte'];
$sd15 = $_POST['ville'];
$sd16 = $_POST['pays'];
$sd17 = $_POST['numero_de_telephone_fixe'];
$sd18 = $_POST['numero_de_telephone_portable'];
$sd19 = $_POST['email'];
$sd20 = $_POST['mot_de_passe'];
$sd21 = $_POST['confirmation_mot_de_passe'];
$sd22 = $_POST['charte'];

$erreur = "0";

//--->> CORRECTION

if($sd22 != "ON")  {$_SESSION['Error_Y0001'] = "NEGADORUS"; $erreur = $erreur + 1 ;}
//...
if($sd17 == $sd18) {$_SESSION['Error_Y0006'] = "NEGADORUS"; $erreur = $erreur + 1 ;}

$sd04  = str_replace(" ","_",$sd04);

if(sd01 == ""){$_SESSION['Error_Z0001'] = "NEGADORUS"; $erreur = $erreur + 1 ;}
//...etc...
if(sd04 == ""){$_SESSION['Error_Z0009'] = "NEGADORUS"; $erreur = $erreur + 1 ;}

//                 <<----->> NOM <<----->> DEBUT <<----->>

$spAC001  = strpos($sd02,"&");
$spAC002  = strpos($sd02,"²");
$spAC003  = strpos($sd02,"#");
$spAC004  = strpos($sd02,"\"");
$spAC005  = strpos($sd02,"{");
$spAC006  = strpos($sd02,"[");
$spAC007  = strpos($sd02,"(");
$spAC008  = strpos($sd02,"|");
$spAC009  = strpos($sd02,"\\");
$spAC010  = strpos($sd02,"`");
$spAC011  = strpos($sd02,"@");
$spAC012  = strpos($sd02,"]");
$spAC013  = strpos($sd02,"_");
$spAC014  = strpos($sd02,")");
$spAC015  = strpos($sd02,"}");
$spAC016  = strpos($sd02,"=");
$spAC017  = strpos($sd02,"+");
$spAC018  = strpos($sd02,"¤");
$spAC019  = strpos($sd02,"$");
$spAC020  = strpos($sd02,"£");
$spAC021  = strpos($sd02,"%");
$spAC022  = strpos($sd02,"*");
$spAC023  = strpos($sd02,"µ");
$spAC024  = strpos($sd02,"§");
$spAC025  = strpos($sd02,"!");
$spAC026  = strpos($sd02,":");
$spAC027  = strpos($sd02,".");
$spAC028  = strpos($sd02,";");
$spAC029  = strpos($sd02,",");
$spAC030  = strpos($sd02,"?");
$spAC031  = strpos($sd02,">");
$spAC032  = strpos($sd02,"<");
$spAC033  = strpos($sd02,"0");
$spAC034  = strpos($sd02,"1");
$spAC035  = strpos($sd02,"2");
$spAC036  = strpos($sd02,"3");
$spAC037  = strpos($sd02,"4");
$spAC038  = strpos($sd02,"5");
$spAC039  = strpos($sd02,"6");
$spAC040  = strpos($sd02,"7");
$spAC041  = strpos($sd02,"8");
$spAC042  = strpos($sd02,"9");

if($spAC001 != '') {$_SESSION['Error_A0001'] = "NEGADORUS"; $erreur = $erreur + 1 ;}
//... etc
if($spAC042 != '') {$_SESSION['Error_A0042'] = "NEGADORUS"; $erreur = $erreur + 1 ;}

$stAB1  = st10rtolower($sd02);
$stAB2  = subst10r("$stAB1", 0, 1);
if($stAB2 == "a" OR $stAB2 == "b" OR $stAB2 == "c" OR $stAB2 == "d" OR $stAB2 == "e" OR $stAB2 == "f" OR $stAB2 == "g" OR $stAB2 == "h" OR $stAB2 == "i" OR $stAB2 == "j" OR $stAB2 == "k" OR $stAB2 == "l" OR $stAB2 == "m" OR $stAB2 == "n" OR $stAB2 == "o" OR $stAB2 == "p" OR $stAB2 == "q" OR $stAB2 == "r" OR $stAB2 == "s" OR $stAB2 == "t" OR $stAB2 == "u" OR $stAB2 == "v" OR $stAB2 == "w" OR $stAB2 == "x" OR $stAB2 == "y"OR $stAB2 == "z"){$_SESSION['Error_A0043'] = "NEGADORUS"; $erreur = $erreur + 1 ;}
if($stAB2 != "a" OR $stAB2 != "b" OR $stAB2 != "c" OR $stAB2 != "d" OR $stAB2 != "e" OR $stAB2 != "f" OR $stAB2 != "g" OR $stAB2 != "h" OR $stAB2 != "i" OR $stAB2 != "j" OR $stAB2 != "k" OR $stAB2 != "l" OR $stAB2 != "m" OR $stAB2 != "n" OR $stAB2 != "o" OR $stAB2 != "p" OR $stAB2 != "q" OR $stAB2 != "r" OR $stAB2 != "s" OR $stAB2 != "t" OR $stAB2 != "u" OR $stAB2 != "v" OR $stAB2 != "w" OR $stAB2 != "x" OR $stAB2 != "y"OR $stAB2 != "z"){$_SESSION['Error_A0044'] = "NEGADORUS"; $erreur = $erreur + 1 ;}

//                 <<----->>   NOM  <<----->>  FIN  <<----->>
//                 <<----->> PRENOM <<----->> DEBUT <<----->>

$spBC001  = strpos($sd03,"&");
$spBC042  = strpos($sd03,"9");

if($spBC001 != '') {$_SESSION['Error_B0001'] = "NEGADORUS"; $erreur = $erreur + 1 ;}
//etc...
if($spBC042 != '') {$_SESSION['Error_B0042'] = "NEGADORUS"; $erreur = $erreur + 1 ;}

$stBB1  = st10rtolower($sd03);
$stBB2  = subst10r("$stBB1", 0, 1);
if($stBB2 == "a" OR $stBB2 == "b" OR $stBB2 == "c" OR $stBB2 == "d" OR $stBB2 == "e" OR $stBB2 == "f" OR $stBB2 == "g" OR $stBB2 == "h" OR $stBB2 == "i" OR $stBB2 == "j" OR $stBB2 == "k" OR $stBB2 == "l" OR $stBB2 == "m" OR $stBB2 == "n" OR $stBB2 == "o" OR $stBB2 == "p" OR $stBB2 == "q" OR $stBB2 == "r" OR $stBB2 == "s" OR $stBB2 == "t" OR $stBB2 == "u" OR $stBB2 == "v" OR $stBB2 == "w" OR $stBB2 == "x" OR $stBB2 == "y"OR $stBB2 == "z"){$_SESSION['Error_B0043'] = "NEGADORUS"; $erreur = $erreur + 1 ;}
if($stBB2 != "a" OR $stBB2 != "b" OR $stBB2 != "c" OR $stBB2 != "d" OR $stBB2 != "e" OR $stBB2 != "f" OR $stBB2 != "g" OR $stBB2 != "h" OR $stBB2 != "i" OR $stBB2 != "j" OR $stBB2 != "k" OR $stBB2 != "l" OR $stBB2 != "m" OR $stBB2 != "n" OR $stBB2 != "o" OR $stBB2 != "p" OR $stBB2 != "q" OR $stBB2 != "r" OR $stBB2 != "s" OR $stBB2 != "t" OR $stBB2 != "u" OR $stBB2 != "v" OR $stBB2 != "w" OR $stBB2 != "x" OR $stBB2 != "y"OR $stBB2 != "z"){$_SESSION['Error_B0044'] = "NEGADORUS"; $erreur = $erreur + 1 ;}

//                 <<----->> PRENOM <<----->> FIN <<----->>
//                 <<----->> VILLE  <<----->> DEBUT <<----->>

$spCC001  = strpos($sd15,"&");
$spCC002  = strpos($sd15,"²");
$spCC003  = strpos($sd15,"#");
$spCC004  = strpos($sd15,"\"");
$spCC005  = strpos($sd15,"{");
$spCC006  = strpos($sd15,"[");
$spCC007  = strpos($sd15,"(");
$spCC008  = strpos($sd15,"|");
$spCC009  = strpos($sd15,"\\");
$spCC010  = strpos($sd15,"`");
$spCC011  = strpos($sd15,"@");
$spCC012  = strpos($sd15,"]");
$spCC013  = strpos($sd15,"_");
$spCC014  = strpos($sd15,")");
$spCC015  = strpos($sd15,"}");
$spCC016  = strpos($sd15,"=");
$spCC017  = strpos($sd15,"+");
$spCC018  = strpos($sd15,"¤");
$spCC019  = strpos($sd15,"$");
$spCC020  = strpos($sd15,"£");
$spCC021  = strpos($sd15,"%");
$spCC022  = strpos($sd15,"*");
$spCC023  = strpos($sd15,"µ");
$spCC024  = strpos($sd15,"§");
$spCC025  = strpos($sd15,"!");
$spCC026  = strpos($sd15,":");
$spCC027  = strpos($sd15,".");
$spCC028  = strpos($sd15,";");
$spCC029  = strpos($sd15,",");
$spCC030  = strpos($sd15,"?");
$spCC031  = strpos($sd15,">");
$spCC032  = strpos($sd15,"<");
$spCC033  = strpos($sd15,"0");
$spCC034  = strpos($sd15,"1");
$spCC035  = strpos($sd15,"2");
$spCC036  = strpos($sd15,"3");
$spCC037  = strpos($sd15,"4");
$spCC038  = strpos($sd15,"5");
$spCC039  = strpos($sd15,"6");
$spCC040  = strpos($sd15,"7");
$spCC041  = strpos($sd15,"8");
$spCC042  = strpos($sd15,"9");

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

13 juil. 2007, 12:15

Modération :
DOFUS, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

ViPHP
ViPHP | 4674 Messages

13 juil. 2007, 12:27

Par simple curiosité, à quoi sert ce .... code ?
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

13 juil. 2007, 12:32

@MT : Je crois qu'il les y avait mis, mais j'ai l'impression que le message a été tronqué vu la longueur.... :)

En attendant, je ne vois franchement pas ce qu'on peut faire d'un tel code... on ne sait pas ce que c'est sensé faire, il n'y a pas un seul commentaire (je suis d'ailleurs étonné d'y trouvé des sections)... Je dirais qu'à priori il te manque le session_start() à moins qu'il ne soit fait dans ton include.. encore faut il le deviner...
Y a t-il des erreur d'inatention ou autres
Très certainement, mais peut être pas... j'ai pas le courage d'essayer d'en trouver. Ton code est sincèrement à revoir pour le rendre comprehensible et maintenable... Ne serait ce qu'utiliser des boucles, des tableaux de caractères ou des expressions régulières pour vérifier la présence de tel ou tel caractère te ferais sans doute descendre ton code à une 20 aine de lignes .... :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

DOFUS
Invité n'ayant pas de compte PHPfrance

14 juil. 2007, 22:58

hum, une grosse partie de mon code et de mon commaentaire final à été supprimer, et pour le session_start(); j'avais expliqué à la fin qu'il était dans l'include...

Mais bon, je vais modifier ma présentation et je post ça quand c'est pret... merci

Mammouth du PHP | 2937 Messages

14 juil. 2007, 23:37

st10rtolower($sd02);
Pour ma part, je connais la fonction strtolower(), mais pas st10rtolower(). :wink:

ViPHP
ViPHP | 4674 Messages

15 juil. 2007, 10:46

Pareil pour subst10r :)
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

15 juil. 2007, 11:48

Pour info, $stAB2 != "a" OR $stAB2 != "b" est toujours faux. Pour être vrai il faudrait que $stAB2 soit égal à "a" et qu'il soit égal à "b", ce qui est bien sûr impossible.

DOFUS
Invité n'ayant pas de compte PHPfrance

15 juil. 2007, 11:53

Et bien voilà les 2 codes, un pour la reception la vérification des donnée, par exemple le mot de passe doit être égal à sa confirmation... Les caractéres interdits pour chaques champs... Les caractéres obligatoire pour l'email comme le @ et le . ...

Le travail n'as pas été fini, NEGADORUS seront remplacer par la phrases l'ors d'une erreur...

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

15 juil. 2007, 12:05

Juste un truc, ne poste pas de scripts plus longs que quelques dizaines de lignes. Si tu veux publier un script qui en fait des centaines, mets-le sur un serveur quelconque et ne publie que le lien, même si je doute que quiconque ne prenne la peine de lire un script au kilomètre.

DOFUS
Invité n'ayant pas de compte PHPfrance

15 juil. 2007, 12:06

Je ne sais pas pourquoi mon message apparait de cette faon jutilise pourtant les balise

Code : Tout sélectionner

[php][/php]
Bon en ce qui concerne le message de Hubert Roksor, je les lu apret l'avoir posté la mon code, je n'en est pris compte qu'aprés...

Alors comment fait-on pout dire que $a ne doit pas âtres égal à une lettre minuscule mais seulement majuscule ?

dofus
Invité n'ayant pas de compte PHPfrance

15 juil. 2007, 12:10

en fait il suffit de lire les 20 premières lignes et tout est compris... c'est un genre de script qui répète avec quelques modification, par exemple 20 ligne multilié par le nombre de champs...

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

15 juil. 2007, 12:14

Ça dépend, tu veux vérifier quoi, qu'un caractère n'est pas une minuscule ou qu'il est une majuscule ? Les deux ne sont pas exclusifs. "9" par exemple, n'est ni une minuscule ni une majuscule.
$une_minuscule     = preg_match('#^[a-z]$#D', $caractere);
$pas_une_minuscule = !preg_match('#^[a-z]$#D', $caractere);
$une_majuscule     = preg_match('#^[A-Z]$#D', $caractere);
$pas_une_majuscule = !preg_match('#^[A-Z]$#D', $caractere);
en fait il suffit de lire les 20 premières lignes et tout est compris...
Très bien, ne poste que les 20 premières lignes alors.

dofus
Invité n'ayant pas de compte PHPfrance

16 juil. 2007, 12:43

Non, en fait je ne savais pas trés bien formulé ma question la voici...

Comment détecté un caratére par EXEMPLE # dans une chaine...

Si # existe dans $variable on met les alcolades....

Ce que je veut faire c'est vérifier si # existe dans une variable et agir aprés...
<?php
$variable = "avion#bateau";
// si $variable contient [color=red]#[/color] alors....
{
}
[php]

Merci

ViPHP
ViPHP | 4674 Messages

16 juil. 2007, 14:07

Une piste :
$var = 'str#fragment';

if(strpos($var, '#'))
    echo 'un dièse'."\n";
else
    echo 'pas de dièse'."\n";
Note du manuel :
Note: Si vous voulez juste déterminer si un needle particulier se trouve dans la chaîne haystack, utilisez la fonction strpos() qui est plus rapide et qui consomme moins de ressources.
:)
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).