2009-02-27 8 views
0

dans mon projet J'ai la situation comme ça.PHP Embedded in Javascript

<script language="JavaScript"> 
function fonsubmit() 
{ 
    alert('Out side PHP'); 
    //Here the php code starts 
    include("customerpage.php"); 
    $cc="us"; 
    $clang="en"; 
    $cpath="us"; 
    some coding goes here...... 
    Php ends here 
} 
</script> 

Mais il montre l'erreur attendue par l'objet. Qu'est-ce qui ne va pas? Mais je ne donne que des balises PHP cela ne génèrera aucune erreur. S'il vous plaît aidez-moi à trouver ce problème, merci d'avance ...

+0

Veuillez utiliser la bonne forme. – Gumbo

+0

merci pour la formation, c'est ce que j'attends – Sakthivel

Répondre

12

Vous essayez d'intégrer un langage basé sur le serveur dans un langage basé sur le client. Cela ne fonctionnera pas.

Si vous pouviez expliquer un peu plus ce que vous essayez d'obtenir, il pourrait y avoir une meilleure solution, comme le type AJAXie. Permettez-moi d'expliquer un peu plus que d'autres ont donné des réponses qui pourraient être mises ici.

Vous pouvez avoir php intégré dans vos fichiers * .php qui seront interprétés sur le serveur et analysés là. En utilisant cela, vous pouvez définir des variables que javascript pourrait reprendre plus tard et utiliser sur le côté client. Comme je l'ai dit, le côté client n'a pas de route pour l'intempérisation et l'analyse php et l'envoi de php à l'utilisateur ne fonctionnera donc pas.

Si vous cependant essayer de faire avancer les choses de travail afin que votre php définit certaines valeurs javascript alors je, comme Gary Willough et Tudor Olariu les deux disent, ajoutez les balises php

<?php 
... PHP CODE... 
?> 

Cependant, vous devez réalisez que cela sera interprété sur le serveur et non sur le client. Par conséquent le code suivant alerterait avec "outside php" et ensuite "inside php".

<script language="JavaScript"> 
function fonsubmit() 
{ 
    alert('outside php'); 
    <?php 
    $message = "inside php"; 
    echo "alert('$message');"; 
    ?> 
} 
</script> 

Le html envoyé à l'utilisateur serait alors

<script language="JavaScript"> 
function fonsubmit() 
{ 
    alert('outside php'); 
    alert('inside php'); 
} 
</script> 

Hope this helps.

2

Je ne sais pas JavaScript, mais JS est un côté client, ce qui signifie qu'il est évalué dans le navigateur Web comme l'utilisateur de votre page Web l'affiche. PHP est un côté serveur, ce qui signifie qu'il est évalué sur l'ordinateur qui héberge votre page Web. Votre navigateur ne peut pas évaluer le code PHP. Tous PHP doit être fait sur le serveur. Vous devez évaluer le PHP de manière inconditionnelle, sinon le PHP ne peut pas être évalué du tout. Ensuite, utilisez JavaScript pour choisir la partie de la sortie PHP que vous voulez afficher - cela permettra d'obtenir l'effet que vous voulez.

0

PHP doit être placé dans les balises appropriées php:

<?php include("customerpage.php"); $cc="us"; $clang="en"; $cpath="us"; ?> 

Assurez-vous que votre page a l'extension * .php et exécuté sur un serveur qui a installé PHP.

+0

si je tape comme ça il ne sera pas montré, c'est yi tapez n de cette façon pour afficher – Sakthivel

+0

@sakthiopr - vous devez le saisir en tant que code, soit avec «backticks» ou indent le code 4 espaces de sorte qu'il affiche comme code. –

2

Il vous manque le début php et tags:

function fonsubmit() 
{ 
    alert('Out side PHP'); 
    //Here the php code starts 

    <?php 
    include("customerpage.php"); 
    $cc="us"; 
    $clang="en"; 
    $cpath="us"; 
    //Php ends here 
    ?> 
} 

S'il vous plaît être conscient que votre code PHP sera exécuté sur le serveur, avant que vos coups de pied javascript dans

+0

j'ai tapé le même que ci-dessus, mais il a affiché l'erreur 'objected attendu' ... – Sakthivel

+0

Vous devriez jeter un oeil à ce que clientpage.php fait, alors, comme il peut être sortie quelque chose qui ne peut pas aller dans un Javascript function ... – Ben

+0

Bon point, est-ce que le script PHP sort du texte? –

1

Une alternative serait d'afficher la Javascript dans PHP.Au lieu de mettre le PHP dans le Javascript, vous mettriez le Javascript dans le PHP. Par exemple, vous pourriez faire ceci:

<?php 
echo '<script language="JavaScript"> 
function fonsubmit() 
{ 
    alert("outside php"); 
'; 

    // here is where you insert your PHP code 
    include("customerpage.php"); 
    $cc="us"; 
    $clang="en"; 
    $cpath="us"; 

echo ' 
} 
</script>'; 
?> 

Accordé, l'écho de la logique Javascript ne se lit pas bien. Ce que vous pouvez également faire est de spécifier le début du Javascript en faisant écho à lui,

<?php 
echo '<script language="JavaScript">'; 
?> 

puis en insérant votre Javascript désiré normalement. Chaque fois que vous voulez insérer du code PHP, entourez-le avec les balises <? Php?