Comment insérer du code PHP dans une page HTML [Résolu/Fermé]

Messages postés
16
Date d'inscription
lundi 8 décembre 2008
Dernière intervention
7 novembre 2011
- - Dernière réponse : coucou747
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Dernière intervention
30 juillet 2012
- 7 nov. 2011 à 20:59
Comment intégrer un bout de code PHP dans une page HTML
et pouvoir transmettre les variables javascripts à mon code PHP ?

Les pré-requis de la question sont les suivants :
[list]
[*] Je ne désire pas modifier mon extension .HTML en .php
[*] Je ne peux pas modifier les fichiers HTACCESS des gens qui vont utiliser mon script.
[*] La solution pour incorporer du PHP dans du HTML est connue mais la grande question est de communiquer javascript->PHP.
/list


la réponse n'est donc pas :
[list]
[*] ...transforme ta page HTML en PHP et fait un include...
[*] ...Modifie ton fichier HTACCESS pour que le serveur inteprète ...
[*] ...Pourquoi ne peux tu pas modifier ton extension etc...
/list

Les forums regorgent donc, vous le voyez, de cette question avec ce genre de réponses, la solution à ma connaissance n'est pas résolue

- - - - - - -
La réponse commence par:

dans ma page HTML je peux glisser l'instruction

<script type= "text/javascript" src="ma_page_php_avec_son_code.php">
</script>

Alors je pourrais utiliser ma page PHP un code qui ressemblera à :

<?php
echo "document.write('ceci est une phrase écrite côté serveur avant chargement de la page');";
?>

Ce qui donnera côté page HTML un code une fois chargé lancera une execution javascript suivante :

document.write('ceci est une phrase écrite côté serveur avant chargement de la page');

Et donc ma page affichera bien ce message .

- - - - - - -

Maintenant la grande question à laquelle personne ne répond sur le NET c'est transmettre une donnée (le code est volontairement schématisé)

PAGE HTML

<script javascript>
instructions
var definition_de_variables = 45

function definitions_de fonctions(encore des variables){...}

</script>

<script javascript source ="ma page PHP" ></script>

<form>

<submit>
etc

SUITE du code HTML

- - - -

PAGE PHP

echo ("comment diable recuperer des variables")


- - - -

Les formulaires post, get et cie ne fonctionne pas

Une page contenant une variable mapage.html?variable=78

n'est pas recuperé par $_POST du PHP


- - - - -

Celle ou celui qui répondra a cela sera assez unique sur le WEB !

Je parle même des forums anglophone qui ne trouve pas la solution

Lisez bien mes pré-requis avant de répondre à côté
Afficher la suite 

15 réponses

Meilleure réponse
Messages postés
16
Date d'inscription
lundi 8 décembre 2008
Dernière intervention
7 novembre 2011
3
Merci
Comment intégrer un bout de code PHP dans une page HTML
et pouvoir transmettre les variables javascripts à mon code PHP ?


si :
[list]
[*] Je ne désire pas modifier mon extension .HTML en .PHP
[*] Je ne peux pas modifier les fichiers HTACCESS des gens qui vont utiliser mon script.
/list


[i]Cela va arriver si par exemple je veux proposer un script PHP à des gens sans qu'ils aient à modifier leurs extensions ou modifier leur fichier htaccess
La solution pour incorporer du PHP dans du HTML est connue mais la grande question est de communiquer javascript->PHP (le contraire étant facile evidemment)/i


Ma page HTML sans aucune extension PHP

<html>
<head>
<title>Insertion d'un code PHP dans une page HTML</title>
 <script type="text/javascript"> 
 function extracteur(var_cherche)
{
var adresse = location.href;
//document.write(adresse+ "
");
var infos = adresse.substring(adresse.indexOf("?")+1, adresse.length)+"&";
var_cherche = var_cherche + "=";
var taille = var_cherche.length;
if (infos.indexOf(var_cherche)!=-1)
{
variable = infos.substring(infos.indexOf(var_cherche)+taille,infos.length);
//document.write(variable+ "
");
variable = variable.substring(0,infos.substring(infos.indexOf(var_cherche)+taille,infos.length).indexOf("&"));
}
return variable
} 
</script> 
</head>


<form id="formid" name="popos" method=get >
  
  
    
</form>
<script type="text/javascript">
// pas d'autre choix que de stocker dans des cookies
// si vous arrivez a utiliser GET ou POST dans PHP, n'hesitez pas a ecrire votre bout de code
var reponse1=extracteur('comu');
var reponse2=extracteur('final');
var today new Date(), expires new Date();
expires.setTime(today.getTime() + (365*24*60*60*1000));
document.cookie = "reponse1=" + reponse1 + ";expires=" + expires.toGMTString();
document.cookie = "reponse2=" + reponse2 + ";expires=" + expires.toGMTString();

</script>

 <script type="text/javascript" src="xmlwritter.php" >
 </script>
 
<script type="text/javascript">
// ici j'utilise un javascript ecris dans mon fichier PHP directement
var ax =  inversea(22);
</script> 


</html>


Ma page PHP avec son extension PHP

<?php

$ecrire  = "document.write('";
$fin = "
');\n";

$variabledure1 = $_COOKIE["reponse1"];
$variabledure2 = $_COOKIE["reponse2"];

echo $ecrire."Voici la variable 1 passée par le javascript : ".$variabledure1.$fin ;
echo $ecrire."Voici la variable 2 passée par le javascript : ".$variabledure2.$fin ;

$ok = '"Cette façon d\'inserer des variables PHP dans du HTML est par contre très classique"';

?>
function inversea(z)
{
document.write("
ici on peut inserer les variables javascripts"+ (1/z) + <?php echo $ok; ?>)

}


Voilà, les solutions plus simple sont bienvenues, mais attention de ne pas tomber à côté de la plaque en répondant
"Ben... euh il suffisait de tout écrire en PHP ou d'utiliser AJAX, MIR et CIF AMMONIACAL"


Oui, si on peux c'est mieux mais là n'est pas la question ...

Merci christie49 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de christie49
Messages postés
18
Date d'inscription
mardi 11 octobre 2011
Dernière intervention
17 février 2012
0
Merci
Salut,

Je n'ai pas exactement tout compris car ton message est assez long. Mais si tu ne veux pas renommer ton fichier en .php (pourquoi ?) la solution me paraît être l'utilisation d'AJAX. Je ne sais pas si ça convient par rapport à toutes tes contraintes, mais vu ce que tu as écrit ça paraît être quelque chose qui peut convenir, non ?


-----------------------------------------
Loïc Herblot
Créateur de sites web pour professionnels

Je suis ouvert aux propositions de partenariat professionnel avec d'autres développeurs web, des web designers, rédacteurs web
Commenter la réponse de lherblot
Messages postés
16
Date d'inscription
lundi 8 décembre 2008
Dernière intervention
7 novembre 2011
0
Merci
Merci, Loïc pour ta réponse mais ...

BZOIINNNG mauvaise réponse

Déjà, l'objectif n'était pas de glisser vers AJAX (que ne connais pas du reste)
Mais non, on doit pouvoir utiliser du HTML brut, y insérer de manière simple du PHP.

l'instruction est toute bête

<script type="text/javascript" src="SUPERPOWERPHP.php>

Communiquer entre les deux lorsque tout le monde nous dit que c'est impossible.

Sinon, la réponse à : "pourquoi ne pas renommer ton fichier en PHP ?"

En fait elle n'a pas trop d'importance cette raison
[i]
simplement, c'est pour faire bénéficier de la puissance PHP des gens qui vont copier un script, qui n'ont ni la connaissance, ni l'envie pour modifier des extensions, bidouiller un fichier HTACCESS et qui ne connaissent de tout cela que copiez ce script - cliquer ici ca marche/i
Commenter la réponse de christie49
Messages postés
16
Date d'inscription
lundi 8 décembre 2008
Dernière intervention
7 novembre 2011
0
Merci
Malheureusement on ne peux pas editer ses messages.

Mais je dois ajouter en plus la contrainte suivante :

Je ne désire pas utiliser les cookies pour stocker et transmettre des variables.

Pourquoi ?

J'ai arrêté les cookies, ça fait grossir.
Commenter la réponse de christie49
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Dernière intervention
30 juillet 2012
0
Merci
Salut,

Ces raisons sont débiles et mauvaises.

T'as aucun moyen de propager tes variables sans utiliser : GET, POST ou les sessions (qui marchent avec des cookies).

tes restrictions sont débiles et t'empechent de faire du php.

Cordialement,

Maxime
Commenter la réponse de coucou747
Messages postés
16
Date d'inscription
lundi 8 décembre 2008
Dernière intervention
7 novembre 2011
0
Merci
BZOING mauvaise réponse et je dirais débile aussi

Il n'a jamais été question dans mes prérequis ne pas utiliser GET et POST mais simplement d'éviter d'utiliser un cookie

ces éléments sont tout à fait bienvenues, mais a priori inutilisable.

alors avant de sortir le mot "débile" ne t'empresses pas de répondre et lis précisément ou poste la réponse qui va bien.


Je publierai ici bientôt la solution qui sera sans doute avec des cookies, on ne peut l'éviter je crois.
Commenter la réponse de christie49
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Dernière intervention
30 juillet 2012
0
Merci
Comme tu viens de le dire, la solution sera sans doute avec des cookies, ça sera donc une solution qui ne correspond pas a tes contraintes.

Bref, je reste sur mon avis, tes restrictions t'empechent de faire de jolies choses.
Commenter la réponse de coucou747
Messages postés
16
Date d'inscription
lundi 8 décembre 2008
Dernière intervention
7 novembre 2011
0
Merci
Merci à Bud pour son programme

EXTRAIRE DES VARIABLES D'UN URL EN JAVASCRIPT

Je l'ai juste un peu modifié
Commenter la réponse de christie49
Messages postés
1660
Date d'inscription
dimanche 7 septembre 2008
Dernière intervention
11 septembre 2013
0
Merci
bonsoir

ça sert à quoi au juste de lire un cookie par javascript ou php puisque de toute façon le cookie est chez le client ?
src="xmlwritter.php" est bien un appel vers php

Bonne programmation !
Commenter la réponse de cod57
Messages postés
16
Date d'inscription
lundi 8 décembre 2008
Dernière intervention
7 novembre 2011
0
Merci
pas après avoir posté, après avoir posté il y a un allez-retour sur le serveur .
Commenter la réponse de christie49
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Dernière intervention
30 juin 2013
0
Merci
Je crains que ça ne soit pas possible, le PHP est interprété du côté serveur, jamais du côté client ...

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
Commenter la réponse de cs_ghuysmans99
Messages postés
16
Date d'inscription
lundi 8 décembre 2008
Dernière intervention
7 novembre 2011
0
Merci
Quand on utilise le bouton SUBMIT d'un formulaire
la page est envoyée vers le serveur

C'est à ce moment là que le php est exécuté


- - - - - - - - -
PAGE HTML

variables modifiée par le client

CODE PHP inséré dans la page via un script distant

Formulaire bouton submit

clic

envoi vers le serveur

analyse de la page HTML par le serveur

insertion du code PHP DISTANT

Execution du code PHP
lecture des variables traitement

Renvoi de la page au client
Commenter la réponse de christie49
Messages postés
2382
Date d'inscription
lundi 4 février 2002
Dernière intervention
29 décembre 2012
0
Merci
J'ai survolé le sujet.. Ma conclusion est qu'il te faudrait prendre un peu temps pour étudier les architectures 3-tiers.. et surtout comprendre ce qu'est un langage côté client et un langage côté serveur..
Prends un peu de temps avant que ton code ne soit compatible que par toi-même..
S.
Commenter la réponse de syndrael
Messages postés
16
Date d'inscription
lundi 8 décembre 2008
Dernière intervention
7 novembre 2011
0
Merci
Syndrael, on ne survole pas un sujet comme celui là, on l'étudie.
D'autre part on ne tire pas de conclusions du survol d'un sujet

Pour finir, mon code est actuellement fonctionnel mais un peu plus de ligne de code de ta part pourrait certainement m'instruire, notamment sur les architectures 3-tiers
MDR, ca impressionne dis comme cela, mais bon on attend tes lignes, ce que tu as , si tu as...

Un petit conseil aussi :

prends un peu de temps avant de répondre à un poste...
Commenter la réponse de christie49
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Dernière intervention
30 juillet 2012
0
Merci
Bien christie49, vu ta façon de répondre aux posts, vu l'interet de ton post, et vu ta façon de refuser les réponses "traditionelles" parce-que tu ne maitrises pas la technologie, je vais devoir :
- appuyer syndrael
- fermer cette question.

Cordialement,

Maxime
Commenter la réponse de coucou747

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.