[RESOLU] problème variables/updates/ SELECT OPTION

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 : [RESOLU] problème variables/updates/ SELECT OPTION

Re: [RESOLU] problème variables/updates/ SELECT OPTION

par luigi77270 » 21 mai 2015, 17:21

Daccord :D
Merci tu m'as fais apprendre plein de chose au moins :D
Bonne continuation !

Re: [RESOLU] problème variables/updates/ SELECT OPTION

par Saian » 21 mai 2015, 17:02

Je t'en prie. ;)

Et oui tu peux mettre un autre header étant donné que le moteur ne passera dessus que si l'utilisateur n'est pas logué. Auquel cas tu ne veux pas que le reste du code soit exécuté mais bien que l'utilisateur soit redirigé. D'ailleurs je mettrais même :
if(!isset($_SESSION["userId"])){
  header("location: connect.php");
  exit();
}
Si l’utilisateur est connecté ce header n'est alors pas exécuté et n'interfère donc pas avec l'autre.

Re: problème variables/updates/ SELECT OPTION

par luigi77270 » 21 mai 2015, 16:53

Ouai mais du coup je savais pas si on avait le droit de mettre un autre header dans le code ^^

Merci beaucoup à toi tu m'as bien sauvé la vie ! :D

Re: problème variables/updates/ SELECT OPTION

par Saian » 21 mai 2015, 16:45

Remplace ce bloc :
if(isset($_SESSION["userId"])) {
  include('home.html');
} else {
  header("location: connect.php");
}
Par ça :
if(!isset($_SESSION["userId"])){
  header("location: connect.php");
}
C'est pas parce qu'on t'aide qu'il faut arrêter de réfléchir ! :P

Re: problème variables/updates/ SELECT OPTION

par luigi77270 » 21 mai 2015, 16:38

Effectivement si je retire la condition tout marche correctement :)
Mais du coup mon site n'est plus sécurisé ?

Re: problème variables/updates/ SELECT OPTION

par Saian » 21 mai 2015, 16:33

Ah ben s'il y a un include de home.html oui. Y a bien une sortie HTML dans ce fichier non ? (sortie = des données qui vont être envoyées au navigateur du client).

Re: problème variables/updates/ SELECT OPTION

par luigi77270 » 21 mai 2015, 16:27

Avant le header il y a ça:
session_start();
	include_once('../php/connexion.php');

		if(isset($_SESSION["userId"])){
		include('home.html');
	}
	else {
		header("location: connect.php");
	}
qui permet de faire la session et si le type n'est pas logger il retourne à la page de connexion, c'est tout. Ca peut venir de là ?

Re: problème variables/updates/ SELECT OPTION

par Saian » 21 mai 2015, 16:09

Oui sauf qu'il y a bien un header. Donc soit le moteur php ne passe pas sur la ligne, mais si tu l'as placé comme dans mon exemple et que les mises à jour se font biens, il passe forcément dessus. Et dans ce cas, soit il y a une erreur header already sent auquel cas la redirection ne se fera effectivement pas.

As tu vérifié les points suivant :
A noter qu'aucune sortie ne doit être présente avant l'appel de la fonction header().
L'ouverture du PHP doit donc être en première ligne du fichier et ne doit jamais être fermé.
Et rien ne doit être imprimé dans la page (pas de echo, print_r, var_dump et autre fonctions qui génèrent une sortie), JE PRECISE avant l'appel de la fonction header.

Re: problème variables/updates/ SELECT OPTION

par luigi77270 » 21 mai 2015, 16:00

En gros c'est comme si le header n'existait pas

Re: problème variables/updates/ SELECT OPTION

par luigi77270 » 21 mai 2015, 15:59

J'ai rien dans le log d'erreurs a part ça:
ReferenceError: $ is not defined update.php:287:8
Mais c'est en rapport avec du js donc rien a voir

Re: problème variables/updates/ SELECT OPTION

par Saian » 21 mai 2015, 15:52

Normalement ça devrait fonctionner. Au pire tu devrais avoir une 404 (en admettant que l'adresse de home.php ne soit pas bonne) sauf s'il y a une erreur header already sent.

Essaye de voir s'il n'y a pas quelque chose dans le log d'erreurs.

Re: problème variables/updates/ SELECT OPTION

par luigi77270 » 21 mai 2015, 15:39

Je suis sur easyPhP en localhost
Mais rien ne s'affiche comme message d'erreur

Re: problème variables/updates/ SELECT OPTION

par Saian » 21 mai 2015, 15:31

Si la configuration du serveur le permet, tu peux mettre ces deux lignes au début du code PHP pour voir les erreurs :
ini_set('display_errors', 1);
error_reporting(E_ALL);
A enlever quand tu as fini de travailler sur ton code.

Re: problème variables/updates/ SELECT OPTION

par luigi77270 » 21 mai 2015, 15:30

Ca ne change rien du tout :/

Re: problème variables/updates/ SELECT OPTION

par Saian » 21 mai 2015, 15:25

Généralement on met aussi un exit() derrière un header de redirection. Ca peut éviter des comportements inattendus dans certains cas :
if(isset($_POST["submit"])) {
  foreach($_POST['available'] as $index => $available) {
    $id = $_POST['id'][$index];
    $query = "UPDATE cream SET available='$available' WHERE id = '$id'";
    $result = mysqli_query($connexion, $query) or die (mysql_error());
  }
	
  header('Location: home.php');
  exit();
}
EDIT
A noter qu'aucune sortie ne doit être présente avant l'appel de la fonction header().
L'ouverture du PHP doit donc être en première ligne du fichier et ne doit jamais être fermé.
Et rien ne doit être imprimé dans la page (pas de echo, print_r, var_dump et autre fonctions qui génèrent une sortie).

Dans ton cas tu dois avoir un warning du genre header already sent mais ton serveur doit être configuré pour ne pas afficher les erreurs.