IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Header Location avec sous-domaines multiples


Sujet :

PHP & Base de données

  1. #1
    Invité
    Invité(e)
    Par défaut Header Location avec sous-domaines multiples
    Bonjour à Tous,

    Je crée des sites web en amateur depuis plusieurs années mais je ne suis pas développeur et ne le serait probablement jamais compte
    tenu de mon âge. Cependant j'arrive à me débrouiller grâce aux forums et aux exemples que je trouve sur Internet.
    Inscrit de ce jour, j viens vous demander de l'aide pour un problème surement très simple mais sur lequel je coince.

    En bref (...!) :

    - Un site Internet (nomdedomaine.fr) et plusieurs sous-domaines (titi.nomdedomaine.fr / toto.nomdedomaine.fr / tata.nomdedomaine.fr....)
    Etant sous WP cela me permet de personnaliser chaque sous-domaine avec une BDD liée.

    - un script de log basique (username et password) à la racine du site
    - une page de redirection (ci-dessous)


    Pour cette dernière je souhaite donc rediriger vers les différents sous-domaines de mon site en fonction des username, titi / toto / tata....

    Ci-dessous le script :
    Comment écrire (si cela est possible...) - header("Location: http://titi.nomdedomaine.fr/");, titi étant variable

    de façon à rediriger selon le username (titi, toto, tata.nomdedomaine.fr ...)

    Merci d'avance pour votre aide.

    Cdlt


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
     
    <?php
    session_start();
    if(isset($_POST['username']) && isset($_POST['password']))
    {
        // connexion à la base de données
        $db_username = 'uxxxxx';
        $db_password = 'pxxxxx';
        $db_name     = 'nxxxxxxx';
        $db_host     = 'localhost';
        $db = mysqli_connect($db_host, $db_username, $db_password,$db_name)
               or die('could not connect to database');
     
        // on applique les deux fonctions mysqli_real_escape_string et htmlspecialchars
        // pour éliminer toute attaque de type injection SQL et XSS
        $username = mysqli_real_escape_string($db,htmlspecialchars($_POST['username'])); 
        $password = mysqli_real_escape_string($db,htmlspecialchars($_POST['password']));
     
        if($username !== "" && $password !== "")
        {
            $requete = "SELECT count(*) FROM wpbase where 
                  nom_utilisateur = '".$username."' and mot_de_passe = '".$password."' ";
            $exec_requete = mysqli_query($db,$requete);
            $reponse      = mysqli_fetch_array($exec_requete);
            $count = $reponse['count(*)'];
            if($count!=0) // nom d'utilisateur et mot de passe corrects
            {
               $_SESSION['username'] = $username;
               header("Location: http://titi.nomdedomaine.fr/");
            }
            else
            {
               header('Location: login.php?erreur=1'); // utilisateur ou mot de passe incorrect
            }
        }
        else
        {
           header('Location: login.php?erreur=2'); // utilisateur ou mot de passe vide
        }
    }
    else
    {
       header("Location: login.php/");
    }
    mysqli_close($db); // fermer la connexion
    ?>
    Dernière modification par Invité ; 07/10/2020 à 18h59.

  2. #2
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2020
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2020
    Messages : 11
    Par défaut
    Est-ce qu'il ne serait pas judicieux de mettre dans la table des users le nom de domaine qui leur propre. Ainsi quand tu interroges ta base tu ramènes le nom de domaine approprié et tu gères la redirection.

  3. #3
    Invité
    Invité(e)
    Par défaut
    J'ai rajouté l'url de chaque sous-domaine en rapport avec l'username dans la base.

    Mais comment appeler cet url...

    J'ai essayé plusieurs combinaisons mais je reviens toujours à mon formulaire de login (ou alors j'ai une erreur 500)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    header('Location: '  . $url);
     
    header('Location: '  . $url.);
     
    header('Location:  . $url.');
     
    header(‘Location :  $url)
    Je précise que j'ai déclaré en entête : isset($_POST['url']).

    Vous pouvez juger de mon niveau d'incompétence...
    Dernière modification par Invité ; 08/10/2020 à 19h37. Motif: Ajout des balises CODE et C

  4. #4
    Membre régulier
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2020
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2020
    Messages : 11
    Par défaut
    Poste ton nouveau code pour voir si ta requête sql est bonne récupérer l'url.
    Sinon, il me semble que c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $url = 'nomdomaine.com';
     
    header('Location: '.$url);
     
    ?>

  5. #5
    Invité
    Invité(e)
    Par défaut
    Voici le code que j'ai modifié avec le rajout de l'url

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    <?php
    session_start();
    if(isset($_POST['username']) && isset($_POST['password'])) && isset($_POST['url']))
    {
        // connexion à la base de données
        $db_username = 'uxxxxx';
        $db_password = 'pxxxxx';
        $db_name     = 'nxxxxxxx';
        $db_host     = 'hxxxxxxxx';
        $db = mysqli_connect($db_host, $db_username, $db_password,$db_name)
               or die('could not connect to database');
        
        // on applique les deux fonctions mysqli_real_escape_string et htmlspecialchars
        // pour éliminer toute attaque de type injection SQL et XSS
        $username = mysqli_real_escape_string($db,htmlspecialchars($_POST['username'])); 
        $password = mysqli_real_escape_string($db,htmlspecialchars($_POST['password']));
        $url = mysqli_real_escape_string($db,htmlspecialchars($_POST['url']));
        
        if($username !== "" && $password !== "")
        {
            $requete = "SELECT count(*) FROM wpbase where 
                  nom_utilisateur = '".$username."' and mot_de_passe = '".$password."' and url = '".$url."' ";
            $exec_requete = mysqli_query($db,$requete);
            $reponse      = mysqli_fetch_array($exec_requete);
            $count = $reponse['count(*)'];
            if($count!=0) // nom d'utilisateur et mot de passe corrects
            {
               $_SESSION['username'] = $username;
               header('Location: http://titi.nomdedomaine.fr/');     //  avec le ss-domaine "titi" et avec les 2 liens, ici et plus bas, la redirection fonctionne correctement
            }
            else
            {
               header('Location: login.php?erreur=1'); // utilisateur ou mot de passe incorrect
            }
        }
        else
        {
           header('Location: login.php?erreur=2'); // utilisateur ou mot de passe vide
        }
    }
    else
    {
       header('Location: http://titi.nomdedomaine.fr/');           //  avec le ss-domaine "titi" et avec les 2 liens, la redirection fonctionne correctement
    }
    mysqli_close($db); // fermer la connexion
    ?>
    Avec un nom de sous-domaine fixe (comme ici Titi), pas de problème.

    Mais j'aurai besoin que la redirection se fasse selon les différents sous-domaines attachés à leur username.

    Avec le code ci-essous, l'url est fixe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    $url = 'nomdomaine.com';
     
    header('Location: '.$url);
     
    ?>
    J'ai fait l'essai à tout hasard avec plusieurs url, $url = 'nomdomaine1.com, nomdedomaine2.com'; mais pas plus de résultat.

    Compliqué.... Merci en tous les cas de t'intéresser à mon problème.

  6. #6
    Invité
    Invité(e)
    Par défaut
    J'ai aussi essayé quelque chose avec "echo" comme ceci, mais toujours sans résultat...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    $_SESSION['username'] = $username;
    		   $url = "url";
                       header('Location: '<? php echo $url ?>);
    Impossible de traiter cette demande via nomdedomaine.fr à l'heure actuelle.
    HTTP ERROR 500

Discussions similaires

  1. Organisation site avec sous domaines
    Par bruno bdf dans le forum Webdesign & Ergonomie
    Réponses: 1
    Dernier message: 21/11/2007, 14h48
  2. [URL Rewriting] problème avec sous domaine
    Par Booyakha dans le forum Apache
    Réponses: 1
    Dernier message: 31/07/2007, 16h31
  3. Pb header location avec renvoi d'une variable
    Par gazelle dans le forum Langage
    Réponses: 2
    Dernier message: 07/05/2007, 13h33
  4. Recherche hébergement avec sous domaine illimités
    Par italiasky dans le forum Hébergement
    Réponses: 1
    Dernier message: 20/02/2007, 16h20
  5. Optimisation requete avec sous-requetes multiples
    Par gege.boubou dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/09/2005, 10h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo