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

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

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

Author24 — интернет-сервис помощи студентам
Нужно по условию 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)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.10.2018, 08:09
Ответы с готовыми решениями:

Отключить исполнение скриптов (html)
Отключить исполнение скриптов (html) Такая проблема. Мне необходимо запретить браузеру...

Исполнение скриптов, полученных через Ajax
При формировании списка с помощью php javascript в каждом элементе работает. Но если потом...

Исполнение инициализационных скриптов Unix в пошаговом режиме
Скажите, пожалуйста, существует ли в Unix-системах (например, Linux, FreeBSD, Solaris) возможность...

Yii2 подключение скриптов по условию
Здравствуйте. Я только начал изучение yii2, если кто знает, подскажите пожалуйста, что прописать в...

5
Эксперт PHP
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
29.10.2018, 10:02 2
Цитата Сообщение от 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  [ТС] 3
Попробовал в такой конструкции, ничего не сработало, 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
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
29.10.2018, 10:31 4
Лучший ответ Сообщение было отмечено 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  [ТС] 5
Это сработало, но можете ли подсказать, как быть в случае, если мне нужно изменить таким же методом содержимое блока, который я до этого создал через скрипт?
0
Эксперт PHP
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
29.10.2018, 10:49 6
Solaris5000, а вы точно сначала создаёте блок, а затем меняете содержимое? Покажите полный код.
0
29.10.2018, 10:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.10.2018, 10:49
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru