PHP, встроенный в 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>

Но он показывает ожидаемую ошибку объекта. Что в этом плохого? Но я даю только тег PHP, он не вызовет никаких ошибок. Пожалуйста, помогите мне разобраться в этой проблеме, заранее спасибо ...

Ответов (5)

Вам не хватает запуска php и тегов:

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

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

Имейте в виду, что ваш php-код будет выполнен на сервере до того, как ваш javascript сработает.

Я не знаю JavaScript, но JS - это клиентский язык, то есть он оценивается в веб-браузере, когда пользователь вашей веб-страницы просматривает его. PHP - это серверный язык, что означает, что он оценивается на компьютере, на котором размещена ваша веб-страница. Ваш браузер не может оценить PHP-код. Весь PHP должен выполняться на сервере. Вы должны безоговорочно оценивать PHP, иначе PHP не может быть оценен вообще. Затем используйте JavaScript, чтобы выбрать, какую часть вывода PHP вы хотите отобразить - это позволит добиться желаемого эффекта.

Вы пытаетесь встроить серверный язык в клиентский язык. Так не пойдет.

Если бы вы могли немного подробнее объяснить, чего вы пытаетесь достичь, могло бы быть лучшее решение, например, вещь типа AJAXie.

Позвольте мне объяснить немного больше, поскольку другие дали ответы, которые можно было бы здесь поместить.

Вы можете php встроить в свои файлы * .php, которые будут интерпретироваться на сервере и анализироваться там. Используя это, вы можете установить переменные, которые javascript может подхватить позже и использовать на стороне клиента. Как я уже сказал, на стороне клиента нет маршрута для интерпретации и синтаксического анализа, php поэтому отправка php пользователю не сработает.

Однако если вы пытаетесь заставить все работать так, чтобы ваш php устанавливал некоторые значения javascript, я бы, как говорят Гэри Уилло и Тудор Олариу, добавил теги php

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

Однако вы должны понимать, что это будет интерпретироваться на сервере, а не на клиенте. Следовательно, следующий код будет предупреждать «вне php», а затем «внутри php».

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

HTML-код, отправленный пользователю, будет

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

Надеюсь это поможет.

PHP должен быть заключен в соответствующие теги php:

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

Убедитесь, что ваша страница имеет расширение * .php и работает на сервере с установленным PHP.

Альтернативой было бы отображение Javascript внутри PHP. Вместо того, чтобы помещать PHP в Javascript, вы должны поместить Javascript в PHP. Например, вы могли бы сделать это:

<?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>';
?>

Конечно, повторение логики Javascript плохо читается. Что вы также можете сделать, так это указать начало Javascript, повторив его,

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

а затем обычным образом вставив желаемый Javascript. Всякий раз, когда вы хотите вставить PHP-код, окружайте его тегами <? Php?>.