Bonjour,

Voilà, je rencontre un petit problème avec mon code php.

Voici mon code

// Maintenance
if(phpSecu($config['maintenance'] == 0)){
    header('Location: index.php');
}
elseif(phpSecu($config['maintenance'] == 1)){
    header('Location: error.php');
}

Et mes fonctions

function phpSecu($str){
    $str = htmlentities(htmlspecialchars(trim($str)));
    return $str;
}
function phpHash($str){
    $str = md5(sha1($str));
    return $str;
}

Ce que j'obtiens

http://prntscr.com/cmpgv0 (Je n'arrive pas a publier l'image directement).

Donc voilà, je devrais tomber sur l'index.php page blanche vierge sachant que mon maintenant = 0. Hors ce n'est pas le cas, ça me lance une page d'erreur par Google. Où est le problème dans mon code? Quand je passe la maintenance en 1 (maintenance activé) là, la redirection marche et je tombe sur error.php

Merci de votre aide

5 réponses


Carouge10
Réponse acceptée

dans le if car ça doit être le résultat de phpSecu qui vaut 0 ou 1

// Maintenance
if(phpSecu($config['maintenance']) === 0){
    header('Location: index.php');
}
elseif(phpSecu($config['maintenance']) === 1){
    header('Location: error.php');
}

Bonsoir,
Attention au positionnement des parenthèses de la fonction....

Jake
Auteur

Bonsoir Carouge10,
Comment ça les parenthèses? Des fonctions ou de la fonction if et elseif?
Si c'est pour if et elseif j'ai essayé de placer == 1 / == 0 avant, après et entre les parenthèses rien n'a fonctionné..

peut être comme cela ?

// Maintenance
if(phpSecu($config['maintenance']) == 0){
    header('Location: index.php');
}
elseif(phpSecu($config['maintenance']) == 1){
    header('Location: error.php');
}
Jake
Auteur

Merci Carouge10!
Je viens de comprendre et y a 4/5 mois avant que j'arrete un peu le developpement j'avais également ce problème et j'avais pas compris, de plus j'ai jamais vu/je ne savais pas qu'on pouvait mettre "===" j'ai toujours lu "=" ou "==" mais jamais 3

Merci ! :)