Système de session PHP

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Système de session PHP

Re: Système de session PHP

par Spols » 04 juin 2020, 12:55

Il semble que l'index 'jour' n'existe pas. ne connaissant pas ta structure de BDD, je ne sais pas t'aider.

mais si tu remplace le <option .../option> par un <?php var_dump($donne2);?> tu verra ce qui existe comme index que tu pourras utiliser.

Re: Système de session PHP

par Ayaka » 04 juin 2020, 11:05

Ok c'est bon pour le problème précédent, mais en voilà un autre qui se pose à moi.
Dans mon système d'enregistrement de valeur dans le planning, j'ai une liste déroulante pour sélectionner un jour :
			<label for="jour">Sélectionner un jour :</label>
					<select id="jour" name="jour" value="lundi">
						<?php
						$req1=$bdd->query('SELECT * FROM planning');
						while ($donne2=$req1->fetch()) {
                                                ?>
						<option <?php echo "value='".$donne2['jour']."'"; ?>>
							<?php echo $donne2['jour']; ?>
						</option>
						<?php
						}
						?>
					</select>
Les erreurs associées à cette partie sont les suivantes :
[04-Jun-2020 09:04:05 UTC] PHP Notice: Undefined index: jour in C:\wamp64\www\gestionplanning.php on line 175
[04-Jun-2020 09:04:05 UTC] PHP Stack trace:
[04-Jun-2020 09:04:05 UTC] PHP 1. {main}() C:\wamp64\www\gestionplanning.php:0
[04-Jun-2020 09:04:05 UTC] PHP Notice: Undefined index: jour in C:\wamp64\www\gestionplanning.php on line 176
[04-Jun-2020 09:04:05 UTC] PHP Stack trace:
[04-Jun-2020 09:04:05 UTC] PHP 1. {main}() C:\wamp64\www\gestionplanning.php:0
[04-Jun-2020 09:04:05 UTC] PHP Notice: Undefined index: jour in C:\wamp64\www\gestionplanning.php on line 175
[04-Jun-2020 09:04:05 UTC] PHP Stack trace:
[04-Jun-2020 09:04:05 UTC] PHP 1. {main}() C:\wamp64\www\gestionplanning.php:0
[04-Jun-2020 09:04:05 UTC] PHP Notice: Undefined index: jour in C:\wamp64\www\gestionplanning.php on line 176
[04-Jun-2020 09:04:05 UTC] PHP Stack trace:
[04-Jun-2020 09:04:05 UTC] PHP 1. {main}() C:\wamp64\www\gestionplanning.php:0
[04-Jun-2020 09:04:05 UTC] PHP Notice: Undefined index: jour in C:\wamp64\www\gestionplanning.php on line 175
[04-Jun-2020 09:04:05 UTC] PHP Stack trace:
[04-Jun-2020 09:04:05 UTC] PHP 1. {main}() C:\wamp64\www\gestionplanning.php:0
[04-Jun-2020 09:04:05 UTC] PHP Notice: Undefined index: jour in C:\wamp64\www\gestionplanning.php on line 176
[04-Jun-2020 09:04:05 UTC] PHP Stack trace:
[04-Jun-2020 09:04:05 UTC] PHP 1. {main}() C:\wamp64\www\gestionplanning.php:0
[04-Jun-2020 09:04:05 UTC] PHP Notice: Undefined index: jour in C:\wamp64\www\gestionplanning.php on line 175
[04-Jun-2020 09:04:05 UTC] PHP Stack trace:
[04-Jun-2020 09:04:05 UTC] PHP 1. {main}() C:\wamp64\www\gestionplanning.php:0
[04-Jun-2020 09:04:05 UTC] PHP Notice: Undefined index: jour in C:\wamp64\www\gestionplanning.php on line 176
[04-Jun-2020 09:04:05 UTC] PHP Stack trace:
[04-Jun-2020 09:04:05 UTC] PHP 1. {main}() C:\wamp64\www\gestionplanning.php:0
[04-Jun-2020 09:04:05 UTC] PHP Notice: Undefined index: jour in C:\wamp64\www\gestionplanning.php on line 175
[04-Jun-2020 09:04:05 UTC] PHP Stack trace:
[04-Jun-2020 09:04:05 UTC] PHP 1. {main}() C:\wamp64\www\gestionplanning.php:0
[04-Jun-2020 09:04:05 UTC] PHP Notice: Undefined index: jour in C:\wamp64\www\gestionplanning.php on line 176
[04-Jun-2020 09:04:05 UTC] PHP Stack trace:
[04-Jun-2020 09:04:05 UTC] PHP 1. {main}() C:\wamp64\www\gestionplanning.php:0
[04-Jun-2020 09:04:05 UTC] PHP Notice: Undefined index: jour in C:\wamp64\www\gestionplanning.php on line 175
[04-Jun-2020 09:04:05 UTC] PHP Stack trace:
[04-Jun-2020 09:04:05 UTC] PHP 1. {main}() C:\wamp64\www\gestionplanning.php:0
[04-Jun-2020 09:04:05 UTC] PHP Notice: Undefined index: jour in C:\wamp64\www\gestionplanning.php on line 176
[04-Jun-2020 09:04:05 UTC] PHP Stack trace:
[04-Jun-2020 09:04:05 UTC] PHP 1. {main}() C:\wamp64\www\gestionplanning.php:0
[04-Jun-2020 09:04:05 UTC] PHP Notice: Undefined index: jour in C:\wamp64\www\gestionplanning.php on line 175
[04-Jun-2020 09:04:05 UTC] PHP Stack trace:
[04-Jun-2020 09:04:05 UTC] PHP 1. {main}() C:\wamp64\www\gestionplanning.php:0
[04-Jun-2020 09:04:05 UTC] PHP Notice: Undefined index: jour in C:\wamp64\www\gestionplanning.php on line 176
[04-Jun-2020 09:04:05 UTC] PHP Stack trace:
[04-Jun-2020 09:04:05 UTC] PHP 1. {main}() C:\wamp64\www\gestionplanning.php:0
[04-Jun-2020 09:04:05 UTC] PHP Notice: Undefined index: jour in C:\wamp64\www\gestionplanning.php on line 175
[04-Jun-2020 09:04:05 UTC] PHP Stack trace:
[04-Jun-2020 09:04:05 UTC] PHP 1. {main}() C:\wamp64\www\gestionplanning.php:0
[04-Jun-2020 09:04:05 UTC] PHP Notice: Undefined index: jour in C:\wamp64\www\gestionplanning.php on line 176
[04-Jun-2020 09:04:05 UTC] PHP Stack trace:
[04-Jun-2020 09:04:05 UTC] PHP 1. {main}() C:\wamp64\www\gestionplanning.php:0
[04-Jun-2020 09:04:05 UTC] PHP Notice: Undefined index: jour in C:\wamp64\www\gestionplanning.php on line 175
[04-Jun-2020 09:04:05 UTC] PHP Stack trace:
[04-Jun-2020 09:04:05 UTC] PHP 1. {main}() C:\wamp64\www\gestionplanning.php:0
[04-Jun-2020 09:04:05 UTC] PHP Notice: Undefined index: jour in C:\wamp64\www\gestionplanning.php on line 176
[04-Jun-2020 09:04:05 UTC] PHP Stack trace:
[04-Jun-2020 09:04:05 UTC] PHP 1. {main}() C:\wamp64\www\gestionplanning.php:0

Avez-vous une idée de comment pallier à ce problème ?
Merci d'avance

Re: Système de session PHP

par Ayaka » 03 juin 2020, 14:28

Où dois-je placer le var_dump($_POST); ?

Re: Système de session PHP

par Spols » 03 juin 2020, 13:24

essaye un var_dump($_POST); pour voir quelle index existe et tu peux utiliser.

Re: Système de session PHP

par Ayaka » 03 juin 2020, 09:21

J'ai modifié en $_POST['semaine'] du coup et ça ne marche pas non plus. Rien ne change et je ne trouve pas les erreurs...
Voici le message que je trouve dans le php_error.log :
[03-Jun-2020 07:14:55 UTC] PHP Notice: Undefined index: salle in C:\wamp64\www\gestionplanning.php on line 57
[03-Jun-2020 07:14:55 UTC] PHP Stack trace:
[03-Jun-2020 07:14:55 UTC] PHP 1. {main}() C:\wamp64\www\gestionplanning.php:0
[03-Jun-2020 07:14:55 UTC] PHP Notice: Undefined index: salle in C:\wamp64\www\gestionplanning.php on line 87
[03-Jun-2020 07:14:55 UTC] PHP Stack trace:
[03-Jun-2020 07:14:55 UTC] PHP 1. {main}() C:\wamp64\www\gestionplanning.php:0
[03-Jun-2020 07:14:59 UTC] PHP Notice: Undefined index: salle in C:\wamp64\www\gestionplanning.php on line 57
[03-Jun-2020 07:14:59 UTC] PHP Stack trace:
[03-Jun-2020 07:14:59 UTC] PHP 1. {main}() C:\wamp64\www\gestionplanning.php:0
[03-Jun-2020 07:14:59 UTC] PHP Notice: Undefined index: salle in C:\wamp64\www\gestionplanning.php on line 87
[03-Jun-2020 07:14:59 UTC] PHP Stack trace:
[03-Jun-2020 07:14:59 UTC] PHP 1. {main}() C:\wamp64\www\gestionplanning.php:0
Des idées de comment définir l'index salle ?

ligne 57 :
$salle=$_POST["salle"];
ligne 87 :
<th colspan="7">Planning de la semaine <?php echo $week;?> en salle <?php echo $_POST['salle'];?></th>

Re: Système de session PHP

par Saian » 02 juin 2020, 15:03

Je connaissais pas le type week mais si tu as appelé l'input semaine il faut utiliser $_POST['semaine'] et pas $_POST['week']...

Re: Système de session PHP

par Ayaka » 02 juin 2020, 14:35

Je ne vois pas d'où vous voulez parler :|
Voici mes input qui contiennent bien l'attribut name :
<input type="week" name="semaine" id="semaine" min="2019-W36" max="2020-W27" required>
<input type="submit" name="Envoyer" value="Valider">

Re: Système de session PHP

par Saian » 02 juin 2020, 09:41

Salut, l'attribut pour mettre le nom de l'input c'est name. Type c'est pour le type d'input, text, password, email, hidden, etc.

Re: Système de session PHP

par Ayaka » 02 juin 2020, 08:40

Bonjour, un autre problème s'oppose à moi.
Je cherche par le biais d'un <input type="week"> à récupérer un numéro de semaine dans l'objectif de l'afficher dans le titre de mon tableau.
Exemple : Je sélectionne la semaine 21 et la salle 205, j'obtiens ça :https://prnt.sc/ss4ytn
Le problème est que ça ne marche pas. (Pour l'exemple j'ai donné une valeur par défaut à la semaine pour qu'elle affiche 21).
Voici ci-dessous mes formulaires utilisés pour le titre et l'endroit de leur utilisation :
	<fieldset class="a" style="width:195px; height: 60px; float: left;">
		<legend>Semaine</legend>
		<form method="POST">
			<label for="semaine">Sélectionner une semaine :</label>
			<input type="week" name="semaine" id="semaine" min="2019-W36" max="2020-W27" required>
		</form>
	</fieldset>
	<fieldset class="b" style="width:170px; height: 60px">
		<legend>Salle</legend>
		<form method="POST">
			<label for="salle">Sélectionner une salle :<label>
					<select id="salle" name="salle"/></center>
					<?php
					$salle=$_POST["salle"];
					$nom="";
					$sal=$bdd->query('SELECT * FROM salles');
					while ($donne1=$sal->fetch()) {
						?>
						<option <?php echo "value='".$donne1['salle']."'"?>>
							<?php echo $donne1['salle'] ?>
						</option>
						<?php
					}
						?>
					</select>
					<p>
					<input type="submit" name="Envoyer" value="Valider">
					</p>
		</form>
	</fieldset>
	<br>
	<br>
	<?php
	$week="21";
	$salle="";
	if (!empty($_POST['salle']) && !empty($_POST['week'])) {
		$week = substr($_POST['week'], -2);
	}
	?>
	<table align="center" id="table">
			<thead>
				<tr>
					<th colspan="7">Planning de la semaine <?php echo $week;?> en salle <?php echo $_POST['salle'];?></th>
				</tr>
			</thead>
Est-ce possible de m'aider ?
Merci d'avance

Re: Système de session PHP

par Ayaka » 29 mai 2020, 13:33

BON !
Problème de session résolu !
J'avais seulement mis des ! à des endroits où il n'y en avait pas besoin...
if (!empty($_SESSION['login']) && !empty($_SESSION['password']))
Et à présent ça marche !
Du coup maintenant je vais me concentrer sur la deuxième page et l'insertion de valeurs dans un planning !

Re: Système de session PHP

par Ayaka » 29 mai 2020, 08:47

oui mais utilisé une variable qui est toujours vide ne sert à rien.

si nulle part il y a $salle = $_GET['salle']; ca sert à rien
D'accord je vois. Je me concentre d'abord sur le système de session qui ne marche toujours pas puis je verrai ça après.
Merci

Re: Système de session PHP

par Ethanz64 » 28 mai 2020, 15:09

Bonjour,
Je débute en PHP et après avoir pratiquement terminé ma page inscription PHP en inclusion, je ne parvient pas a retirer du visuel les phrase inf... lorsque j’implante le code traitement PHP
Si quelqu'un pouvais m'aider a comprendre comment faire SVP MERCI !!!

//--------------------------------- TRAITEMENTS PHP ---------------------------------//

if($_POST)
{
debug($_POST);
$verif_caractere = preg_match('#^[a-zA-Z0-9._-]+$#', $_POST['pseudo']);
if(!$verif_caractere && (strlen($_POST['pseudo']) 1 || strlen($_POST['pseudo']) 20 ) )//
{
$contenu = "<div class='erreur'>Le pseudo doit contenir entre 1 et 20 caractères. <br> Caractère accepté : Lettre de A à Z et chiffre de 0 à 9 </div>";
}
else
{
$membre = executeRequete("SELECT * FROM membre WHERE pseudo='$_POST[pseudo]'");
if($membre->num_rows 0)
{
$contenu = "<div class='erreur'>Pseudo indisponible. Veuillez en choisir un autre svp.</div>";
}
else
{
// $_POST['mdp'] = md5($_POST['mdp']);
foreach($_POST as $indice => $valeur)
{
$_POST[$indice] = htmlEntities(addSlashes($valeur));
}
executeRequete("INSERT INTO membre (pseudo, mdp, nom, prenom, email, civilite, ville, code_postal, adresse) VALUES ('$_POST[pseudo]', '$_POST[mdp]', '$_POST[nom]', '$_POST[prenom]', '$_POST[email]', '$_POST[civilite]', '$_POST[ville]', '$_POST[code_postal]', '$_POST[adresse]')");
$contenu = "<div class='validation'>Vous êtes inscrit à notre site web. <a href=\"connexion.php\"><u>Cliquez ici pour vous connecter</u></a></div>";
}
}
}
//--------------------------------- AFFICHAGE HTML ---------------------------------//

Re: Système de session PHP

par Spols » 28 mai 2020, 13:06

oui mais utilisé une variable qui est toujours vide ne sert à rien.

si nulle part il y a $salle = $_GET['salle']; ca sert à rien

Re: Système de session PHP

par Ayaka » 28 mai 2020, 12:40

Pourtant je l'ai utilisé dans 2 endroits après :
<th colspan="7">Planning de la semaine
<?php echo $week;?>
 en salle 
<?php echo $_GET['salle']?>
</th>
et
<?php
$color1="";
$pla = $bdd->prepare('SELECT * FROM planning WHERE salle=:salle2 AND semaine=:semaine2');
$pla->execute(array('salle2'=>$salle, 'semaine2'=>$week));

Re: Système de session PHP

par Spols » 28 mai 2020, 11:33

Voici ce que j'ai fait pour le $_GET['salle'] :
	<?php
	$week="21";
	$salle="";
	if (!empty($_GET['salle']) && !empty($_GET['week'])) {
		$week = substr($_GET['week'], -2);
	}
	?>
$salle est défini à vide et ensuite il est utilisé sans jamais le remplir.