[RESOLU] PHP 7 Utilisation de sessions

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] PHP 7 Utilisation de sessions

Re: [RESOLU] PHP 7 Utilisation de sessions

par DD-78 » 20 déc. 2016, 17:05

Merci pour le lien.
J'ai essayé session_start avant le header mais dans mon cas cela ne fonctionne pas.

Re: [RESOLU] PHP 7 Utilisation de sessions

par mineyou » 20 déc. 2016, 13:50

Voici l'adresse de la page sur les variables superglobales : https://openclassrooms.com/courses/conc ... et-cookies

et voici une petite copie d'écran alors ils ne parle pas de le placer avant le header mais à mon avis tu peut essayer
Image

Re: [RESOLU] PHP 7 Utilisation de sessions

par @rthur » 20 déc. 2016, 12:10

Par contre dans le code que tu présentes il y a des lignes vides entre session_start et le header ce qui est strictement interdit !
Pas du tout, ce sont les lignes vides en HTML et pas en PHP qui sont à proscrire avant la fonction header().

Re: [RESOLU] PHP 7 Utilisation de sessions

par DD-78 » 20 déc. 2016, 12:01

Bonjour,

Merci pour ton conseil mineyou, peux-tu me donner l’adresse http de openclassroom où ils disent de placer session_start avant le header ?

Par contre dans le code que tu présentes il y a des lignes vides entre session_start et le header ce qui est strictement interdit !

Concernant OVH je retiens ton conseil mais par rapport à 1 & 1 c’est moi qui était en erreur comme je l’ai cité précédemment.

Cordialement.

Re: [RESOLU] PHP 7 Utilisation de sessions

par mineyou » 20 déc. 2016, 01:32

Bonjour,
Je te conseil de mettre le session_start en tout debut de page, comme ceci:
<?php

session_start();

header('Content-type:text/html; charset=UTF-8');	// encodage UTF-8

Sur openclassroom ils disent qu'il faut bien le mettre au debut sinon il ne fonctionne pas .
Et si tu veut changer d'hébergeur OVH est super =)

Re: [RESOLU] PHP 7 Utilisation de sessions

par DD-78 » 19 déc. 2016, 16:37

Merci aussi à @rthur.

Re: [RESOLU] PHP 7 Utilisation de sessions

par DD-78 » 19 déc. 2016, 16:23

Bonjour,

Je cite "au final je note que le conf 1&1 par défaut colle plus à la réalité et que sur OVH tu peux faire des bêtises sans t'en rendre compte".
Tout à fait d’accord avec toi car le fait que le code fonctionne chez OVH m’a empêché de voir mes erreurs rapidement.

Tu n’as pas à être désolé pour le BOM car c’était à moi de réfléchir plus.

Pour moi tout ceci est positif, ton aide Moogli et apprendre qu’il faut être très méfiant avec les codes en PHP selon les serveurs.

Cordialement.

Re: [RESOLU] PHP 7 Utilisation de sessions

par moogli » 19 déc. 2016, 10:51

pour ce qui est des lignes / espace vide, idem il ne faut rien mettre avant la fonction header ou un session_start (qui envoi une entête cookie).
Les entêtes doivent toujours est "envoyées" avant tout affichage et un espace ou un ligne vide en dehors du code php c'est un affichage. Les bonne pratique en php (PSR-XX) veulent que l'on commence à la première ligne par un <?php et que, si le fichier finit par du php, on ne mette pas de ?> qui est optionnel (et du coup pas de problème de ligne vide ou de caractère invisible qui s'insère après le ?> et peux générer ce genre de problème lors d'une inclusion du fichier.
Le coup du BOM utf-8 est vieux comme php, je m'en veux de pas y avoir pensé désolé :/

au final je note que le conf 1&1 par défaut colle plus à la réalité et que sur OVH tu peux faire des bétises sans t'en rendre compte :-)

Merci de ton retour.

@+

Re: PHP 7 Utilisation de sessions

par DD-78 » 17 déc. 2016, 21:59

Effectivement, maintenant je le saurai.

Re: PHP 7 Utilisation de sessions

par @rthur » 17 déc. 2016, 19:38

:arrow: UTF-8 (sans Bom)

Le BOM ne doit jamais jamais jamais être présent dans des fichiers PHP

Re: PHP 7 Utilisation de sessions solution session chez 1 & 1

par DD-78 » 17 déc. 2016, 16:41

Bonjour,

J’ai fini après de longues heures de recherches par trouver la solution pourquoi mon code fonctionne chez OVH et non chez 1 & 1

Pour qu’il fonctionne chez 1 & 1, il faut encoder les pages en UTF-8 (sans Bom)
et supprimer en début de fichier la ligne blanche entre le header et session_start puis aussi entre la balise <?php et le header.

Voici le code rectifié sur chaque page :

Code : Tout sélectionner

<?php // PAS d'ESPACE AVANT ! header('Content-type:text/html; charset=UTF-8'); // PAS d'ESPACE AVANT ! if( session_id()=='' ){ session_start(); } // PAS d'ESPACE AVANT !
Par contre la ligne blanche est bien supporté chez OVH et en local sur mon PC ainsi que l’encodage en local.

La seule chose que j’ignore c’est si chez OVH, il faut un encodage UTF-8 ou UTF-8 (sans Bom).
Mais bon, il suffit d’effectuer le test avec les 2 encodages diffèrent pour le savoir.

Je laisse encore un peu de temps avant de clore cette discussion en résolu au cas où je ne serais pas suffisamment
explicite dans mes explications.

Merci encore à Moogli pour son aide.

Conclusion :

Il s’agissait bien d’une erreur de ma part dans mon code et de l’encodage de mes pages et non d’un problème chez 1 & 1
qui malgré tout voulait me faire changer de contrat.

Enfin, je constate que le serveur chez OVH avec PHP 7 est plus permissif que chez 1 & 1.

Cordialement.

Re: PHP 7 Utilisation de sessions

par DD-78 » 16 déc. 2016, 12:31

Effectivement je ne comprends pas.
Ils sont censés me contacter aujourd’hui mais j’en doute, si pas de nouvelle je les contacte cette après-midi.

Re: PHP 7 Utilisation de sessions

par moogli » 16 déc. 2016, 09:42

de rien, bon courage.

Perso je n'ai jamais de problème, c'est dommage :s

Re: PHP 7 Utilisation de sessions

par DD-78 » 14 déc. 2016, 18:18

Je vais changer d'hébergeur, trop de problèmes avec 1 & 1.

En cherchant à droite et à gauche je me suis aperçus que je n'étais pas seul dans ce cas là!

Je pense opter pour OVH.

Re: PHP 7 Utilisation de sessions

par DD-78 » 14 déc. 2016, 18:01

Merci Moogli.