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 :

Passer d'une page a l'autre sans être obligé de passer par connexion


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Darkoos0410
    Homme Profil pro
    Technicien ingénierie réseaux et voix
    Inscrit en
    Septembre 2019
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien ingénierie réseaux et voix

    Informations forums :
    Inscription : Septembre 2019
    Messages : 119
    Par défaut Passer d'une page a l'autre sans être obligé de passer par connexion
    Bonjour,

    Il y a un détail que j'arrive pas à régler sur mon site web, J'ai créer un site web avec différentes page. Et j'ai créer une page pour ajouter les capteurs, la page fonctionne bien mais quand j'enregistre un bien un capteur je mes un lien pour rediriger sur la page principale pour consulter les capteurs mais le problème c'est qu'il passe par connexion et je voudrais que pour cette page il ne passe pas par connexion.

    Voici le code de liste_capteurs.php (page principale)
    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    <?php
     
    	// Initialiser la session
    	session_start();
    	// Vérifiez si l'utilisateur est connecté, sinon redirigez-le vers la page de connexion
    	if(!isset($_SESSION["username"])){
    		header("Location: login.php");
    		exit(); 
    	}
     
    $color = 'white';
    ?>
    <html>
    	<head>
    	 <link href="style.css" rel="stylesheet" media="all"/>
    	</head>
    	<body>
    		<div class="sucess">
    		<h1>Bienvenue <?php echo $_SESSION['username']; ?>!</h1>
    		<p>C'est votre espace utilisateur.</p>
    		<a href="logout.php">Déconnexion</a>
    		</div>
     
        <b style='color: <?php echo $color; ?>;'><h1>Liste des capteurs :</h1></b>
     
    		<form name="connexion" method="post">
    		 </br>
    		 </br>
    		 <b style='color: <?php echo $color; ?>;'>Choisir un capteur</b>
    		 <select name="Capteur" >
    		 <?php
    			for ($i=1;$i<30;$i++)
    			{
    				echo "<option>capteur ".$i."</option>";
    			}
     
    		?>
    		 </select>
    		 </br>
    		 </br>
    		  <input type="submit" class="box-button" id="form" name="valider" value="OK"/></br>
              </br><input type="submit" class="box-button" id="form" name="annuler" value="ANNULER"/></br>
    		  </br><input type="submit" class="box-button" id="form" name="creer" value="CREER CAPTEUR"/></br>
    		  </br><input type="submit" class="box-button" id="form" name="modifier" value="MODIFIER CAPTEUR"/></br>
    		  </br><input type="submit" class="box-button" id="form" name="supprimer" value="SUPPRIMER CAPTEUR"/></br>
    		 </br>
    		 </br>
            </form>
     
            <?php
     
    		require('config.php');
    		if (isset($_POST['valider']))
    		{
    		$nbBoitierChaine = substr ($_POST['Capteur'] ,8);
    		//echo $nbBoitierChaine;
    		$nbBoitier = intval($nbBoitierChaine);
     
    		// On créé la requête
    		$req = "SELECT * FROM boitier_qae WHERE Num_boitiers=".$nbBoitier." ORDER BY Num_boitiers";
    		//echo $req;
     
            // on envoie la requête
            $res = $conn->query($req);
            // on va scanner tous les tuples un par un 
            echo "<table class='paleBlueRows' border=2 style='color: $color;'>";
     
    		echo "<tr>
    		  <th>Numéro Boitier</th>
    		  <th>Date_Heure</th>
    		  <th>Mesure à 1 µm</th>
    		  <th>Mesure à 2,5 µm</th>
    		  <th>Mesure à 10 µm</th>
    		  <th>Description</th>
    		  <th>Lagitude</th>
    		  <th>Longitude</th>
    		 </tr>";
     
                    while($data = mysqli_fetch_array($res))
            {
              // on affiche les résultats sous forme de tableau html
     
              echo "<tr>
              <td>".$data['Num_boitiers']."</td> 
    		  <td>".$data['Date_Heure']."</td>
    		  <td>".$data['PM1']."</td>
    		  <td>".$data['PM2_5']."</td>
    		  <td>".$data['PM10']."</td>
    		  <td>".$data['Description']."</td>
    		  <td>".$data['Latitude']."</td>
    		  <td>".$data['Longitude']."</td>";
              echo "</tr>" ;
     
            }
            echo "</table>";
     
            // on ferme la connexion
            $conn->close();
    		}
            ?>
        </body>
    </html>
    Voici le code de insert.php (ajouter un capteur)

    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
    <html>
    <head>
    	<link rel="stylesheet" href="style.css" />
    </head>
    <body>
    <?php
    	require('config.php');
    	if (isset($_REQUEST['num_boitiers'], $_REQUEST['description']))
    	{
    		$num_boitiers = stripslashes($_REQUEST['num_boitiers']);
    		$num_boitiers = mysqli_real_escape_string($conn, $num_boitiers); 
     
    		$description = stripslashes($_REQUEST['description']);
    		$description = mysqli_real_escape_string($conn, $description);
     
    		//on teste l'existence des variables et on vérifie qu'elle ne sont pas vides
    		if ((isset($num_boitiers)&&!empty($num_boitiers)) && (isset($description)&&!empty($description)))
    		{	
    		$sql = "INSERT INTO boitier_qae(Num_boitiers, Description) VALUES ('$num_boitiers', '$description')";
    		$res = mysqli_query($conn, $sql)or die('Erreur SQL2 !<br/>'.$sql.'<br/>'.mysqli_error($conn));
     
    			if($res)
    				{	
    					echo "<div class='sucess'>
    							Le capteur à bien été enregistrer
    							<p> Pour allez sur la page liste capteur <a href='liste_capteurs.php'>Cliquez ici</a></p>
    							</div>";
    				}
    				else 
    				{
    					echo "Le capteur n'as pas été enregistrer";
    				}
    		}
     
     
    	}
    ?>
    		<form class="box" action="" method="post" name="ajout">
    		<h1 class="box-title">Ajouter un nouveau capteur</h1>
    		<input type="text" class="box-input" name="num_boitiers" placeholder="Numéro de boitier" required />
    		<input type="text" class="box-input" name="description" placeholder="Description" required />
    		<input type="submit" name="submit" value="Ajouter" class="box-button" />
    		<p class="box-register">Revenir à la page liste capteur <a href="liste_capteurs.php">Cliquez ici</a></p>
    		</form>
    </body>
    </html>
    et le code de login.php(connexion)
    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
    48
    49
    50
    <!DOCTYPE html>
    <html>
    <head>
    	<link rel="stylesheet" href="style.css" />
    </head>
    <body>
    <?php
    require('config.php');
    session_start();
     
    if (isset($_POST['username']))
    {
    	$username = stripslashes($_REQUEST['username']);
    	$username = mysqli_real_escape_string($conn, $username);
    	$_SESSION['username'] = $username;
    	$password = stripslashes($_REQUEST['password']);
    	$password = mysqli_real_escape_string($conn, $password);
        $query = "SELECT * FROM `utilisateurs` WHERE username='$username' and password='".hash('sha256', $password)."'";
    	$result = mysqli_query($conn,$query) or die(mysql_error());
     
    	if (mysqli_num_rows($result) == 1) 
    	{
    		$user = mysqli_fetch_assoc($result);
    		// vérifier si l'utilisateur est un administrateur ou un utilisateur
    		if ($user['type'] == 'admin') 
    		{
    			header('Location: admin/home.php');		  
    		}else
    		{
    			header('Location: liste_capteurs.php');
    		}
    	}
    	else
    	{
    		$message = "Le nom d'utilisateur ou le mot de passe est incorrect.";
    	}
    }
    ?>
    <form class="box" action="" method="post" name="login">
    <h1 class="box-title">Connexion</h1>
    <input type="text" class="box-input" name="username" placeholder="Nom d'utilisateur">
    <input type="password" class="box-input" name="password" placeholder="Mot de passe">
    <input type="submit" value="Connexion " name="submit" class="box-button">
    <p class="box-register">Vous êtes nouveau ici? <a href="register.php">S'inscrire</a></p>
    <?php if (! empty($message)) { ?>
        <p class="errorMessage"><?php echo $message; ?></p>
    <?php } ?>
    </form>
    </body>
    </html>
    Merci d'avance pour votre aide
    Baptiste

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 329
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 329
    Billets dans le blog
    17
    Par défaut
    la page fonctionne bien mais quand j'enregistre un bien un capteur je mes un lien pour rediriger sur la page principale pour consulter les capteurs mais le problème c'est qu'il passe par connexion et je voudrais que pour cette page il ne passe pas par connexion.
    Je ne vois pas où tu enregistres ton capteur (SQL INSERT ?)
    Je ne vois pas non plus de lien pour rediriger
    Ce que tu décris ressemble à une perte de la session, mets-tu bien un session_start() en haut de chaque page ?


    C'est pas bon ici dans ta page login.php, il faut que session_start() soit placé avant tout envoi de données au client (donc avant <html>).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <body>
    <?php
    require('config.php');
    session_start();

  3. #3
    Membre confirmé Avatar de Darkoos0410
    Homme Profil pro
    Technicien ingénierie réseaux et voix
    Inscrit en
    Septembre 2019
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien ingénierie réseaux et voix

    Informations forums :
    Inscription : Septembre 2019
    Messages : 119
    Par défaut
    Citation Envoyé par Séb. Voir le message
    Je ne vois pas où tu enregistres ton capteur (SQL INSERT ?)
    Je ne vois pas non plus de lien pour rediriger
    Ce que tu décris ressemble à une perte de la session, mets-tu bien un session_start() en haut de chaque page ?


    C'est pas bon ici dans ta page login.php, il faut que session_start() soit placé avant tout envoi de données au client (donc avant <html>).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <body>
    <?php
    require('config.php');
    session_start();
    La requete insert du insert.php va dans ma base de données. En faite ce que je voudrais c'est quand je clique sur le lien "Cliquez ici" ca me renvoye directement sur liste_capteurs.php et pas login.php (la page de connexion)
    Nom : 3.png
Affichages : 58
Taille : 16,9 Ko
    Actuellement quand je clique sur "cliquez ici ça me renvoye sur ça.
    Nom : 2.png
Affichages : 64
Taille : 10,3 Ko
    et je voudrais que ca me renvoye sur cette page directement sans passé par login.php
    Nom : 1.png
Affichages : 58
Taille : 31,6 Ko

    Baptiste

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 329
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 329
    Billets dans le blog
    17
    Par défaut
    Tu n'as pas collé le bon insert.php, on a 2 fois liste_capteurs.php

    Montre-nous insert.php stp

  5. #5
    Membre confirmé Avatar de Darkoos0410
    Homme Profil pro
    Technicien ingénierie réseaux et voix
    Inscrit en
    Septembre 2019
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien ingénierie réseaux et voix

    Informations forums :
    Inscription : Septembre 2019
    Messages : 119
    Par défaut
    Oui désolé j'avais pas mis le bon. C'est bon pour le fichier insert.php

  6. #6
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 329
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 329
    Billets dans le blog
    17
    Par défaut
    Ce que tu décris ressemble à une perte de la session, mets-tu bien un session_start() en haut de chaque page ?
    Apparemment c'est ce que je disais plus haut. Pas de session_start() dans insert.php => Perte de la session, ajoute un session_start()

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2013] interagir sur une page web google chrome sans passer par IE
    Par moons666 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/07/2019, 14h39
  2. passer id d'objet d'une page a l'autre
    Par keybon dans le forum Langage
    Réponses: 3
    Dernier message: 05/03/2013, 23h56
  3. Réponses: 1
    Dernier message: 10/04/2012, 23h12
  4. [FLASH MX2004] loadVar vers une page d'un autre serveur
    Par j0hnmerrick dans le forum Flash
    Réponses: 3
    Dernier message: 22/03/2005, 12h49
  5. [JSP][Debutant]recuperer un objet d'une page a l'autre
    Par zozolh2 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 17/05/2004, 10h25

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