Argh ! Je suis vraiment nul je ne me souvient plus comment renvoyer un tableau depuis une function pour l'instant j'ai rien trouver dans la doc qui pourrait m'aider ^^

function testingform ($post){
    addslashes(extract($_POST));
    $error_form = array();
    if(isset($name) && !empty($name) && ctype_alpha($name)){
        $name = $name;
    }
    else{
        return false;
        return $error_form] = array('message' => 'Le nom contient des caractère non autorisé.');
    }
}
if(testingform($_POST)){
    echo "tout va bien on continu";
}else{
    echo "tout va mal :(";
    var_dump($error_form);
}

8 réponses


vavoir
Auteur
Réponse acceptée

Bonjour,

Finalement j'ai fait au plus simple :)
Je pense que la fonction dont je parle est une class.

Il est wtf ton code ^^"

<?php
function testingform(){
    addslashes(extract($_POST)); // faille de sécurité ici
    if(!isset($name) || empty($name) || !ctype_alpha($name)){
        return array('message' => 'Le nom contient des caractère non autorisé.');
    }
    return true;
}
$testingform = testingform();
if(!is_array($testingform) && $testingform){
    echo 'tout va bien on continu';
}else{
    echo 'tout va mal<img src="/img/smileys/sad.png" alt="">';
    var_dump( testingform() ); // TMP
}
vavoir
Auteur

@Glaived

Ton code correspond à ce que j'ai vu mais cela ne me convient pas en effet j'ai besoins d'avoir un tableau sous cette forme(voir en bas) et pour tout renvoyer à la vue je vais pas renvoyer les erreurs une par une et au fur et à mesure.

0.array(
        "message" => "mdp incorect",
    ),
    1.array(
        "message" => "nom vide",
    ),
    2.array(
        "message" => "etc...",
    ),
<?php
function testingform(){
    addslashes(extract($_POST)); // faille de sécurité ici
    if(!isset($name) || empty($name) || !ctype_alpha($name))
        return array('message' => 'Le nom contient des caractère non autorisé.');
}
function test1(){
    // .. ton code ..
    return array('message' => 'test1');
}
function test2(){
    // .. ton code ..
    return array('message' => 'test2');
}

$listErreur] = test1();
$listErreur] = test2();
$listErreur] = testingform();
var_dump( $listErreur ); //
vavoir
Auteur

@Glaived Bizarre il m'avait semblé avoir déjà réaliser une fonction ou tout c'est teste était réaliser dans une seul...

tu peux tres bien appeler les fonctions test1 et test2 dans testingform et créer ton tableau en fonction des erreurs qu'il y a. si tu es dans une class

Ya pas 'une' façon de faire, y'en à 15.000, à toi de voir celle que tu souhaite selon ton code ^^

function fonctionTest{
    foreach($_POST as $key=>$value)
        $error]='Vous avez une erreur pour le champ suivant :'.$key
    return isset($error) ? $error :false;
}