Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
4 / 4 / 2
Регистрация: 29.04.2017
Сообщений: 226

Исполнение скриптов по условию if в php

29.10.2018, 08:09. Показов 1475. Ответов 5

Студворк — интернет-сервис помощи студентам
Нужно по условию if исполнить определённый скрипт по изменению блока, по результатам сёрфинга в интернете, нашел 2 варианта исполнения

В случае использования второго варианта, ошибка указывает на то, что php-скрипт не закрыт, а первый вариант не работает вовсе

Вариант 1
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
if(isset($_POST['n_buttonRegister']))
{
    try
    {
        print "<body onload=\"but();\">";
        $link=mysql_connect("localhost","root","");
        mysql_select_db("site", $link);
        $q='select Login, E-mail from regdata where Login like '.$_POST['log_in'].' and E-mail like '.$_POST['ema_in'];
        $qr=mysql_query($q, $link);
        if (is_bool($qr))
        {
            echo"<script>document.getElementById('check_result_login').innerHTML='Данный логин уже занят';</script>";
        }
        else
            echo"<script>document.getElementById('check_result_login').innerHTML='Данный логин уже занят';</script>";
        mysql_close($link);
    }
    catch (Exception $e) {}
}
?>
вариант 2
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
if(isset($_POST['n_buttonRegister']))
{
    try
    {
        print "<body onload=\"but();\">";
        $link=mysql_connect("localhost","root","");
        mysql_select_db("site", $link);
        $q='select Login, E-mail from regdata where Login like '.$_POST['log_in'].' and E-mail like '.$_POST['ema_in'];
        $qr=mysql_query($q, $link);
        if (is_bool($qr))
        {?>
            <script>document.getElementById('check_result_login').innerHTML='Данный логин уже занят';</script>
        <?php}
        else{?>
            <script>document.getElementById('check_result_login').innerHTML='Данный логfdsин уже занят';</script>
        <?php}
        mysql_close($link);
    }
    catch (Exception $e) {}
}
?>
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.10.2018, 08:09
Ответы с готовыми решениями:

Если значение 1 - исполнение скрипта 1, если значение 2 - исполнение скрипта 2 и т.д
Здравствуйте. Имеется код: &lt;form id=&quot;popolnit&quot; action=&quot;&quot; method=&quot;POST&quot; style=&quot;margin:0;padding:0&quot;&gt; &lt;label for=&quot;batch&quot;&gt;Код...

Исполнение PHP скрипта при обращении к файлу с другим расширением
Здравствуйте, подскажите как сделать при обращении к http://www.site.com/file.dmm file.dmm запускался как php и выдавал информацию

Исполнение php сценариев через БД
У меня есть таблица со статьями. Сам контент находится в $result_row, допустим. Мне хочется, чтобы внутри статьи выполнялся некоторый...

5
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
29.10.2018, 10:02
Цитата Сообщение от Solaris5000 Посмотреть сообщение
ошибка указывает на то, что php-скрипт не закрыт
На какой строке? У меня ругается на фигурные скобки.

Цитата Сообщение от Solaris5000 Посмотреть сообщение
{?>
Цитата Сообщение от Solaris5000 Посмотреть сообщение
<?php}
Не пишите фигурные скобки вместе с php-тегами, добавьте пробелы.

И при выводе html удобней делать так:

PHP/HTML
1
2
3
4
5
6
7
8
if (is_bool($qr)):
?>
<script></script>
<?php else: ?>
<script></script>
<?php endif;
 
// ... дальше PHP код
0
4 / 4 / 2
Регистрация: 29.04.2017
Сообщений: 226
29.10.2018, 10:18  [ТС]
Попробовал в такой конструкции, ничего не сработало, php исполняется, вложенные скрипты ни в какую,
сам этот блок в head расположен

PHP/HTML
1
2
3
4
5
6
7
$qr=true;
if ($qr):
            ?>
<script>document.getElementById('d_content').innerHTML='тест1';</script>
<?php else: ?>
<script>document.getElementById('d_content').innerHTML='тест2';</script>
<?php endif;
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
29.10.2018, 10:31
Лучший ответ Сообщение было отмечено Solaris5000 как решение

Решение

Цитата Сообщение от Solaris5000 Посмотреть сообщение
ничего не сработало
Сам синтаксис верный, вот рабочий пример:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
<?php
 $var = true;
// $var = false;
 
if($var): ?>
    <script>alert(123);</script>
<?php else: ?>
    <script>alert(456)</script>
<?php endif;
    echo '789';
 ?>
Цитата Сообщение от Solaris5000 Посмотреть сообщение
сам этот блок в head расположен
getElementById сам по себе в head работать не будет потому что элемент с id="d_content" ещё не создан. Этот код нужно запускать после создания элемента d_content браузером. Можно сделать так:

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$var = true;
 $var = false;
 
if($var):
?>
<script>
document.addEventListener('DOMContentLoaded', function(){
    document.getElementById('d_content').innerHTML='тест1';
});
</script>
<?php else: ?>
<script>
document.addEventListener('DOMContentLoaded', function(){
    document.getElementById('d_content').innerHTML='тест2';
});
</script>
<?php endif; ?>
<div id="d_content">
</div>
Либо перенести вниз подключение js-скрипта.
0
4 / 4 / 2
Регистрация: 29.04.2017
Сообщений: 226
29.10.2018, 10:46  [ТС]
Это сработало, но можете ли подсказать, как быть в случае, если мне нужно изменить таким же методом содержимое блока, который я до этого создал через скрипт?
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
29.10.2018, 10:49
Solaris5000, а вы точно сначала создаёте блок, а затем меняете содержимое? Покажите полный код.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.10.2018, 10:49
Помогаю со студенческими работами здесь

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

Исполнение в скрипте на PHP кода, порождённого самим скриптом
Можно ли в скрипте на PHP сформировать программным путём некоторую последовательность символов, которая представляет сама по себе некий...

Исполнение PHP-скрипта без перезагрузки страницы и без знания JavaScript(!) - Xajax
Приветствую! Решил запостить отдельной темой, а в прилепленной (про Ajax) просто разместить на нее ссылку. Так будет структурно правильнее,...

PHP скрипт -> Json -> выбор пользователя -> AJAX -> первоначальный PHP скрипт
Доброго времени суток! Я новичек вэб программировании, так что прошу строго не судить(в гугле ответа не нашел). Есть задача: ...

ошибка в исполнении скрипта
непойму в чём ошибка... Warning: include(.\data ar.dat): failed to open stream: Invalid argument in C:\web\www\MLM\data\header.dat on...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru