Merci, j'avais pensé à ça mais je croyais au départ à qqch ds le genre de la doc php avec des crochets : function aaa($a, [$b]) .
Edit : je viens de comprendre pourquoi ca ne marchait pas : j'utilisais if ($a = true) et pas if($a == true)
Hello, comment dire dans une fonction que l'on créé qu'un argument est facultatif ? parce que ca me génère un avertissement quand je ne le met pas :!: :!: :!: Merci.
Bonsoir, dans mes codes j'ai tendance a mettre des fonctions partout Exemple d'une page php:
<?php require_once('fonctions/LibrairieFonctions.php'); myAffichageHeaderHTML(); myAffichageFormulaireLogin(); myAffichageFooterHTML(); ?>
Dans ce cas, vaut-il mieux mettre le code du formulaire de login sur directement cette page ou alors l'insérer via une fonction ? Merci.
Je suis un peu overbooké là donc je te livre le code de ma page (un peu tronqué) , tu vas comprendre je pense
CODE
normalisation();
//variables abrégées
$email= $_POST['email'];
$identifiant = $_POST['identifiant'];
$pass = $_POST['pass'];
$pass2 = $_POST['pass2'];
//Démarrage de la session
session_start();
// Vérifications formulaires
try
{ //formulaires remplis ?
if (!filled_out($_POST))
{throw new Exception('Vous n\'avez pas rempli tous les champs du formulaire.');
}
//adresse mail valide ?
if (!valid_email($email))
{throw new Exception('Cette adresse mail n\'est pas valide.');
}
//mots de passe identiques ?
if ($pass != $pass2)
{throw new Exception('Les mots de passe ne correspondent pas.');
}
//longueur mot de passe
if (strlen($pass) <6 || strlen($pass) >16)
{throw new Exception('Votre mot de passe doit faire entre 6 et 16 caractères.');
}
//longeur identifiant
if (strlen($identifiant) >16)
{throw new Exception('Votre identifiant doit faire moins de 17 caractères.');
}
// diverses opérations, on //enregistre si tout ok, ....
catch (Exception $e)
{
require_once('nouveau_compte.php');
exit;
}
Une page fait récemment, très basique. Première page nouveau_compte.php du formulaire, avec ceci dedans : s'il y a une erreur on l'affiche, sinon on affiche normalement le formulaire vierge
<?php if ($e != null) { echo $e->getMessage(); } ?>
Et dans la page sur laquelle pointe la première, avec un catch qui capture les erreurs rencontrées.
catch (Exception $e) { require_once('nouveau_compte.php'); exit; }
Solution très basique : au lieu de faire echo "ton message d'erreur", tu fais echo "header + message d'erreur + pied de page". Tu peux aussi inclure la page précédente mais en y rajoutant le message d'erreur. Au passage <font color='#FF0000'> , c'est pas bon
Bonsoir, je viens de lire des articles sur les injections SQL, XSS, etc..
Cependant en échappant les données des utilisateurs (mysql_real..., addslashes, htmlspecialchars, ....) les risques sont évités à 100% ou faut il quand même se méfier ? Merci.