2013-06-04 3 views
-1

Я пытаюсь создать php-скрипт внутри тегов html с помощью javascript. Идея заключается в том, что когда пользователь нажимает кнопку, это вызовет тип скрипта php для создания и определения того, что доступно из базы данных.использовать javascript для создания php в html

Проблема, с которой я столкнулась, когда всякий раз, когда выполняется javascript, написанный php выходит закомментированным так, как <!--?php [code] ?-->. Хотя то, что у меня есть намеренно на javascript, это <?php [code] ?>

Так как вы можете видеть, что теги меняются от скрипта до комментариев html-тегов.

Javascript код

function determineDisplay(display_id) { 
    var phpO = "<?php echo "; 
    var phpF = "read_home('" + display_id + "', '"; 
    var phpE = "'); ?>"; 

    var type = []; 
    type[0] = "content_desc"; 
    type[1] = "content_img"; 
    var imgpath = "images/; "; 
    type[2] = "content_comp"; 

//The alerts are to check what is inserted afterwords. 

    document.getElementById(type[0]).innerHTML = phpO + phpF + type[0] + phpE; 
alert(document.getElementById(type[0]).innerHTML); 
    document.getElementById(type[1]).src = phpO + imgpath + phpF + type[1] + phpE; 
alert(document.getElementById(type[1]).src); 
    document.getElementById(type[2]).innerHTML = phpO + phpF + type[2] + phpE; 
alert(document.getElementById(type[2]).innerHTML); 
} 

HTML код (HTML, имеет PHP по умолчанию, но с помощью JavaScript, она изменяется.

<table width="696px" border="1"> 
    <tr> 
     <td><font size="-1" id="content_desc"> 
      <?php read_home('a', 'content_desc'); ?> 
     </font></td> 
     <td> 
     <img id="content_img" src='<?php echo "images/"; read_home('a', 'content_img'); ?>' /> 
     </td> 
    </tr> 

    <tr><td colspan="2" align="center"><font size="-1" id="content_comp"> 
     <?php read_home('a', 'content_comp'); ?> 
    </font></td></tr> 
</table> 

То, что я пытаюсь сделать с этим зависит то, что в зависимости от кнопки, которую пользователь нажимает, создается первый параметр функции read_home() php.

**html buttons using javascript for php** 
    <input type="button" id="s" class="support" onclick="determineDisplay('s');"/> 
    <br /> 
    <input type="button" id="a" class="about" onclick="determineDisplay('a');"/> 
    <br /> 
    <input type="button" id="m" class="mission" onclick="determineDisplay('m');" /> 
    <br /> 
    <input type="button" id="v" class="vission" onclick="determineDisplay('v');" /> 
    <br /> 
+3

PHP - серверная сторона, JS - сторона браузера. – techfoobar

+8

PHP-код запускается на стороне сервера. Javascript запускается на стороне клиента.Вы не можете выполнить PHP-код, созданный Javascript. К моменту запуска Javascript PHP выполняется. – showdev

+2

Вы понимаете, что это не может работать, как вы его правильно? Так много чего не так с этим вопросом, вплоть до использования тега ''. – j08691

ответ

1

Решение этой проблемы заключается в использовании ajax. Когда вы используете javascript, его обработка выполняется на стороне браузера, тогда как вы пытаетесь создать php на основе рендеринга стороны браузера, что невозможно, поскольку php - это PreProcessor на стороне сервера.

Как @ waldol1 сказал, что вы можете использовать Ajax и вызывать асинхронные запросы для взаимодействия с сервером/базой данных.

+0

Благодарю вас, я просмотрю размещенные ссылки. – user2337345

1

PHP является препроцессором для гипертекста. Javascript используется после обработки страницы. Следовательно, почему вы не можете вставлять теги PHP и скрипты с помощью Javascript.

Удачи.

Edit:

Как уже упоминалось еще один ответ, вы можете использовать Ajax для запуска сценариев после загрузки. Он дал w3schools.com АЯКС пример

Я мог бы предложить с помощью JQuery библиотеки: http://www.jQuery.com

вы можете найти АНИ документы по адресу: http://api.jQuery.com

3

Идея его в том, что, когда пользователь нажимает кнопку, которая будет запускает тип сценария php для создания и определения того, что доступ к базе данных.

Что вы хотите сделать, это использовать ajax. Когда пользователь нажимает на вашу кнопку, вы делаете асинхронный запрос на свой сервер, а затем ваш сервер может искать в вашей базе данных и возвращать результаты в браузер (он может передать их функции javascript) без перезагрузки страницы.

http://www.w3schools.com/ajax/

+0

хорошая работа, связанная с ajax. Могу ли я добавить, что лучшим способом для ajax является использование библиотеки jQuery. $ .Ajax можно найти по адресу http://api.jquery.com/jQuery.ajax/ – Mic1780

+0

спасибо, и я согласен с тем, что проще использовать библиотеку JQuery. Я просто подумал, что если OP не понимает разницы на стороне сервера и клиента, ему нужно прочитать учебник w3 или другой учебник, прежде чем попасть в документы JQuery. – waldol1

+0

Согласен. отлично сработано. +1 – Mic1780

Смежные вопросы