PHP JavaScript

tatius100

Как можно запустить PHP-ную функцию по onclick="PHPfunction"?

vini

На прямую - никак (PHP - server-side, JavaScript - сlient-side).
Можешь почитать дискуссию здесь

psm-home

Вот такая хрень, от нечего делать. Надеюсь, ответил на вопрос.

<html>
<head>
<title>Test</title>
</head>
<body>

<>
<script>
function call_ {

//Настраиваем параметр(ы которые попадут на сервер
document.helper_form.param.value = "foobar";

// Делаем submit формы - по сути запрос к серверу, в запросе лежит значение параметра
document.helper_form.submit;
}
</script>

<>
<form name="helper_form" method="post"><input type="hidden" name="param" value=false></form>

<>
<h1 style="cursor:hand" onClick="call_;">Click to call server-side function .</h1>
<?php
// Эта функция будет вызвана на стороне сервера
function ($string) {
echo "<p> called with parameter '$string'.</p>";
}

// если мы зашли на страницу не submit'ом helper_form, то emtpy($param) == true,
// иначе мы вызвали сами себя (с помощью document.helper_form.submit и передан параметр, тогда вызовем
if (!empty($param ($param);
?>
</body>
</html>

psm-home

Да, если автор вопроса хотел напрямую, то никак. Может быть я не понял вопрос.

tatius100

Не ты как раз ответил на мой вопрос. Очень оригинальный способ. Спасибо
Кстати не подскажешь можно было ли здесь использовать конструкцию типа <script language=PHP></script> и как это вообще используется?

poshta

Из документации:
Имеются четыре набора тэгов, которые используются для обозначения блоков кода PHP.
Только два из них (<?php. . .?> и <script language="php">. . .</script>) всегда доступны; другие можно включать и отключать из файла конфигурации php.ini. Хотя сокращённые тэги и тэги в стиле ASP могут быть удобны, они не так переносимы, как их длинные версии. Также, если вы предполагаете внедрять PHP-код в XML или XHTML, нужно использовать форму <?php. . .?> для соответствия XML.
Тэги, поддерживаемые PHP:

1. <?php echo("если вы хотите работать с документами XHTML или XML, делайте так\n"); ?>
2. <? echo ("это простейшая SGML-инструкция процессинга\n"); ?>
<?= выражение ?> Это аббревиатура для "<? echo выражение ?>"

3. <script language="php">
echo ("некоторые редакторы (вроде FrontPage) не любят
инструкции процессинга");
</script>
4. <% echo ("Вы можете по выбору использовать тэги в стиле ASP"); %>
<%= $variable; # Это аббревиатура для "<% echo . . ." %>

Первый способ, <?php. . .?>, это предпочтительный метод, так как он позволяет использовать PHP в коде, соответствующем правилам XML, таком как XHTML.
Второй способ вообще невозможен. Сокращённые тэги доступны только тогда, когда они подключены. Это можно сделать функцией short_tags (только в PHP 3 включив установку конфигурации short_open_tag в PHP config-файле, или скомпилировав PHP с опцией --enable-short-tags в configure. Даже если вы по умолчанию включили в php.ini-dist, использование сокращённых тэгов не рекомендуется.
Четвёртый способ доступен, только если тэги в стиле ASP включены с использованием установки конфигурации asp_tags.

Т.е. <script language="php">. . .</script> просто напросто эквивалентно <?php . . . ?>

SergZ

Вот что нашел, может будет полезно:
http://htmlcoder.visions.ru/HTML/?16
кстати неплохой сайт
Оставить комментарий
Имя или ник:
Комментарий: