Renvoyer un array depuis une function

Par vavoir, il y a 11 ans


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

Glaived, il y a 11 ans

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, il y a 11 ans

@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...",
    ),
Glaived, il y a 11 ans
<?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, il y a 11 ans

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

Yentia, il y a 11 ans

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

Glaived, il y a 11 ans

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

2b3ez, il y a 11 ans
function fonctionTest{
    foreach($_POST as $key=>$value)
        $error]='Vous avez une erreur pour le champ suivant :'.$key
    return isset($error) ? $error :false;
}
vavoir, il y a 11 ans

Bonjour,

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