PHP встроен в Javascript - PullRequest
       10

PHP встроен в Javascript

0 голосов
/ 27 февраля 2009

у меня в проекте такая ситуация.

<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 ]

12 голосов
/ 27 февраля 2009

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

Если бы вы могли объяснить немного больше, чего вы пытаетесь достичь, возможно, было бы лучшее решение, например, типа 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>

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

2 голосов
/ 27 февраля 2009

Вам не хватает начала 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 заработает

2 голосов
/ 27 февраля 2009

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

1 голос
/ 28 февраля 2009

Альтернативой может быть отображение 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?>.

0 голосов
/ 27 февраля 2009

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...