Comment insérer du code PHP dans une page HTML

Résolu/Fermé
christie49 Messages postés 16 Date d'inscription lundi 8 décembre 2008 Statut Membre Dernière intervention 7 novembre 2011 - 3 nov. 2011 à 11:08
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre 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é

15 réponses

christie49 Messages postés 16 Date d'inscription lundi 8 décembre 2008 Statut Membre Dernière intervention 7 novembre 2011
3 nov. 2011 à 16:08
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 ...
3
lherblot Messages postés 18 Date d'inscription mardi 11 octobre 2011 Statut Membre Dernière intervention 17 février 2012 1
3 nov. 2011 à 11:14
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
0
christie49 Messages postés 16 Date d'inscription lundi 8 décembre 2008 Statut Membre Dernière intervention 7 novembre 2011
3 nov. 2011 à 11:53
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
0
christie49 Messages postés 16 Date d'inscription lundi 8 décembre 2008 Statut Membre Dernière intervention 7 novembre 2011
3 nov. 2011 à 12:00
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 43
3 nov. 2011 à 13:39
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
0
christie49 Messages postés 16 Date d'inscription lundi 8 décembre 2008 Statut Membre Dernière intervention 7 novembre 2011
3 nov. 2011 à 14:22
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.
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 43
3 nov. 2011 à 14:59
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.
0
christie49 Messages postés 16 Date d'inscription lundi 8 décembre 2008 Statut Membre Dernière intervention 7 novembre 2011
3 nov. 2011 à 16:18
Merci à Bud pour son programme

EXTRAIRE DES VARIABLES D'UN URL EN JAVASCRIPT

Je l'ai juste un peu modifié
0
cod57 Messages postés 1654 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 20
3 nov. 2011 à 20:49
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 !
0
christie49 Messages postés 16 Date d'inscription lundi 8 décembre 2008 Statut Membre Dernière intervention 7 novembre 2011
3 nov. 2011 à 20:54
pas après avoir posté, après avoir posté il y a un allez-retour sur le serveur .
0
cs_ghuysmans99 Messages postés 3983 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
4 nov. 2011 à 09:57
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
0
christie49 Messages postés 16 Date d'inscription lundi 8 décembre 2008 Statut Membre Dernière intervention 7 novembre 2011
4 nov. 2011 à 14:40
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
0
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 19
7 nov. 2011 à 10:40
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.
0
christie49 Messages postés 16 Date d'inscription lundi 8 décembre 2008 Statut Membre Dernière intervention 7 novembre 2011
7 nov. 2011 à 19:49
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...
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 43
7 nov. 2011 à 20:59
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
0