La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, erwinol, Lilian, lauryv, ToToMaStEr)
  Passer une variable Javascript dans PHP
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: Passer une variable Javascript dans PHP  (Lu 7520 fois)
Passer une variable Javascript dans PHP
« sur: le 28-06-2013 a 12:42:22 »
Flomaluso
Membre récent
*

Hors-Ligne

Messages: 17





Voir le Profil
Répondre avec citation

Salut tout le monde 

Je m'excuse par avance si je me suis trompé de partie du forum pour poster ce sujet. J’hésitais entre PHP/MySQL et Javascript / DOM / Ajax et j'ai finalement décidé de le poster ici.

Alors voilà mon problème, après plusieurs recherches sur internet et plusieurs tests, je n'ai toujours pas réussi à récupérer une variable javascript et l'insérer dans du PHP.
Je sais que JavaScript et  un langage coté utilisateur et PHP coté serveur, mais visiblement il y en à qui arrivent à récupérer la valeur de la variable du script et de l'utiliser avec PHP.

Plus concrètement, j'ai un script qui demande leur prénom au gens afin de rendre un peu le site interactif puisqu'il leur dit bonjour et j'aimerais pouvoir utiliser le nom qu'il rentre avec PHP. (Sachant aussi que se prénom et enregistré dans un cookies.)

Voici le script pour ceux qui veulent :

Code:
<SCRIPT language="JavaScript" title="Bonjour">

var caution = false
function setCookie(name, value, expires, path, domain, secure) {
var curCookie = name + "=" + escape(value) +
((expires) ? "; expires=" + expires.toGMTString() : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "")
if (!caution || (name + "=" + escape(value)).length <= 4000)
document.cookie = curCookie
else
if (confirm("Cookie exceeds 4KB and will be cut!"))
document.cookie = curCookie
}
function getCookie(name) {
var prefix = name + "="
var cookieStartIndex = document.cookie.indexOf(prefix)
if (cookieStartIndex == -1)
return null
var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length)
if (cookieEndIndex == -1)
cookieEndIndex = document.cookie.length
return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex))
}
function deleteCookie(name, path, domain) {
if (getCookie(name)) {
document.cookie = name + "=" +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
"; expires=Thu, 01-Jan-70 00:00:01 GMT"
}
}
function fixDate(date) {
var base = new Date(0)
var skew = base.getTime()
if (skew > 0)
date.setTime(date.getTime() - skew)
}
var now = new Date()
fixDate(now)
now.setTime(now.getTime() + 31 * 24 * 60 * 60 * 1000)
var name = getCookie("name")
if (!name)
name = prompt("Entrez Votre Prénom:", "Mon prénom")
setCookie("name", name, now)
document.write("Bonjour" + name + "! =  )")

</SCRIPT>


Merci par avance pour votre aide = )
A très bientôt,
Flo

Rapporter au modérateur  

Re:Passer une variable Javascript dans PHP
« Répondre #1 sur: le 28-06-2013 a 15:21:02 »
GuillaumeRoos
P'tit nouveau
**

Hors-Ligne

Sexe: Male
Messages: 122





Voir le Profil    WWW    E-Mail
Répondre avec citation

Est-ce que le fait que le cookie et tout le reste soient créés en javascript a une véritable importance pour le fonctionnement du site ou pas ?

Parce que, si ce n'est pas le cas, autant faire un bête formulaire en html pour récupérer le nom et le prénom et tout faire en php directement derrière (cookie, traitement des infos, date d'expiration, etc...). Ça sera plus simple et plus efficace.

Rapporter au modérateur  

Guillaume Roos - Web Designer, développeur et illustrateur indépendant
http://www.guillaumeroos.com
siret : 513 379 420 00013
Re:Passer une variable Javascript dans PHP
« Répondre #2 sur: le 29-06-2013 a 10:55:24 »
Flomaluso
Membre récent
*

Hors-Ligne

Messages: 17





Voir le Profil
Répondre avec citation

Bonjour GuillaumeRoos,

Merci pour ta réponse 
Et bien vis à vis du site non, sa ne change strictement rien, mais c'est juste que je sais pas comment le coder en php.

Désolé pour le retard,
A bientôt,
Flo'

Rapporter au modérateur  
Re:Passer une variable Javascript dans PHP
« Répondre #3 sur: le 29-06-2013 a 11:23:48 »
GuillaumeRoos
P'tit nouveau
**

Hors-Ligne

Sexe: Male
Messages: 122





Voir le Profil    WWW    E-Mail
Répondre avec citation

En fait, c'est assez proche du Javascript que tu as, mais en plus simple.

Pour faire un truc basique, en entrée de page, tu contrôles s'il y a déjà un cookie sur l'ordinateur du visiteur ou si le formulaire de demande de nom a déjà été soumis. Si ce n'est pas le cas, tu affiches ton formulaire :

<?php
if (!isset($_POST['nom_de_l_utilisateur']) and !isset($_COOKIE['nom_de_l_utilisateur'])){
/* Affichage du formulaire de demande du nom */
}
?>

Ensuite, s'il n'y a pas de cookie sur l'ordinateur mais que le formulaire a été soumis, tu récupères les données et tu crées le cookie :

<?php
if (!empty($_POST['nom_de_l_utilisateur'])){
/* Voir la fonction setcookie sur php.net pour créer le cookie qui te convient : http://php.net/manual/fr/function.setcookie.php */
}
?>

Pour finir, tu affiches le contenu du cookie si il existe :

<?php
if (isset($_COOKIE['nom_de_l_utilisateur'])){
echo 'Bonjour'.$_COOKIE['nom_de_l_utilisateur'];
}
?>

J'espère que ça va t'aider

Rapporter au modérateur  

Guillaume Roos - Web Designer, développeur et illustrateur indépendant
http://www.guillaumeroos.com
siret : 513 379 420 00013
Re:Passer une variable Javascript dans PHP
« Répondre #4 sur: le 29-06-2013 a 14:09:29 »
Flomaluso
Membre récent
*

Hors-Ligne

Messages: 17





Voir le Profil
Répondre avec citation

D'accord, merci beaucoup =)

Donc logiquement si j'ai bien compris, je dois mettre ceci comme code :
Code:
<?php
if (!isset($_POST['nom_de_l_utilisateur']) and !isset($_COOKIE['nom_de_l_utilisateur'])){
/* Affichage du formulaire de demande du nom */
}
?>


<?php
if (!empty($_POST['nom_de_l_utilisateur'])){
setcookie($name='nom_de_l_utilisateur', $value='$_POST['nom_de_l_utilisateur']', $path='/', $secure=false, $HTTPOnly=false)
}
?>


<?php
if (isset($_COOKIE['nom_de_l_utilisateur'])){
echo 'Bonjour'.$_COOKIE['nom_de_l_utilisateur'];
}
?>


Le problème est que sa ne me demande pas d'entrer mon prénom et en plus, cela me retourne une erreur :
Parse error: syntax error, unexpected 'nom_de_l_utilisateur' (T_STRING) in ...

Donc est ce que je me suis trompé dans la ligne du cookie?

Je suis désolé, mais je connais vraiment pas grand chose, j’apprends sur le tas.
A bientôt,
Flo

Rapporter au modérateur  
Re:Passer une variable Javascript dans PHP
« Répondre #5 sur: le 29-06-2013 a 15:09:42 »
GuillaumeRoos
P'tit nouveau
**

Hors-Ligne

Sexe: Male
Messages: 122





Voir le Profil    WWW    E-Mail
Répondre avec citation

En fait, déjà, il faut remplacer la note "/* Affichage du formulaire de demande du nom */" par un formulaire de demande du nom en html, pour pouvoir récupérer le contenu du champ 'nom_del_utilisateur' par la variable $_POST.

Ensuite, dans la ligne setcookie, il ne faut pas mettre $name='nom_de_l_utilisateur', $value=..., il faut juste mettre 'nom_de_l_utilisateur', $_POST['nom_de_l_utilisateur']...

Il faudrait aussi ajouter la date d'expiration dans le cookie et puis tu avais oublié un ';' à la fin de la ligne.

Ça devrait donner un truc comme ça (pour un cookie avec une durée de vie d'un mois) :

<?php
if (!isset($_POST['nom_de_l_utilisateur']) and !isset($_COOKIE['nom_de_l_utilisateur'])){
echo '
<form method="post" action="#">
<p>Indiquez votre nom :</p>
<input type="text" name="nom_de_l_utilisateur" /><br />
<input type="submit" name="submit" value="Envoyer" />
</form>
';
}

if (!empty($_POST['nom_de_l_utilisateur'])){
setcookie('nom_de_l_utilisateur', $_POST['nom_de_l_utilisateur'], time()+(60*60*24*30), '/', false, false);
echo 'Bonjour '.$_POST['nom_de_l_utilisateur'];
}

if (isset($_COOKIE['nom_de_l_utilisateur'])){
echo 'Bonjour '.$_COOKIE['nom_de_l_utilisateur'];
}
?>

J'ai rajouté un echo du $_POST nom_de_l_ut... après le setcookie parce que la page ne prend pas en compte le cookie au premier tour.

Bon courage pour la suite.

Rapporter au modérateur  

Guillaume Roos - Web Designer, développeur et illustrateur indépendant
http://www.guillaumeroos.com
siret : 513 379 420 00013
Re:Passer une variable Javascript dans PHP
« Répondre #6 sur: le 04-07-2013 a 19:08:56 »
Flomaluso
Membre récent
*

Hors-Ligne

Messages: 17





Voir le Profil
Répondre avec citation

Merci beaucoup Guillaume!! C'est génial!!!! 

Désolé pour le retard, j'ai eu un empêchement.
Encore Merci 

Rapporter au modérateur  
Re:Passer une variable Javascript dans PHP
« Répondre #7 sur: le 04-07-2013 a 19:14:32 »
GuillaumeRoos
P'tit nouveau
**

Hors-Ligne

Sexe: Male
Messages: 122





Voir le Profil    WWW    E-Mail
Répondre avec citation

Content d'avoir pu t'aider 

Rapporter au modérateur  

Guillaume Roos - Web Designer, développeur et illustrateur indépendant
http://www.guillaumeroos.com
siret : 513 379 420 00013
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg