Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Смена изображения при клике на нем и отправка данных в файл (https://javascript.ru/forum/server/72353-smena-izobrazheniya-pri-klike-na-nem-i-otpravka-dannykh-v-fajjl.html)

REZERV 23.01.2018 16:32

Смена изображения при клике на нем и отправка данных в файл
 
Добрый день.
Есть скрипт на аяксе в котором при клике на кнопку в форме 1 без перезагрузки страницы вносит изменения в файл txt в виде 0 или 1, и в том-же скрипте другая часть кода берет данные из того же файла txt и показывает в форме 2 если в файле txt текст 0 то показывает изображение 1 а если текст 1 то показывает изображение 2.

Помогите поменять код так чтобы при клике на саму фотографию изменялись данные в файле txt и после этого изображение менялась.
В out.txt есть текст 1 или 0


index.php
Код:

<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
<head>
<title>1</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<link rel="stylesheet" type="text/css" href="style.css">
<script>
        function show(){
                $.ajax({
                        url: "imgs.php",
                        cache: false,
                        success: function(html){
                                $("#content").html(html);
                        }
                });
        }


        $(document).ready(function(){ show(); setInterval('show()',500); });

        function AjaxFormRequest(result_id,led,url) {
                jQuery.ajax({
                        url: url,
                        type: "POST",
                        dataType: "html",
                        data: jQuery("#"+led).serialize(),
                });
        }
</script>
</head>
    <body>
          <div class="r">
          <div class="rl">
          <p class="r1">Форма 1</p>
          <div class="r2" style="font-size:35px" >
          <form  id="led" action="" method="post"  >
          <input class="submitButton" type="submit" value="Отправить" onclick="AjaxFormRequest('messegeResult', 'led', 'img.php')" >
          </form>
          </div>
          </div>

          <div class="rr">
          <p class="r1">Форма 2</p><br>
          <div class="r2"style="font-size:35px" >
          <div class="r3" id="content"></div>
          </div>
          </div>
          </div>
  </body>
</html>



ings.php
Код:

<?php
        $myFile5 = "out.txt";
        $fh5 = fopen($myFile5, 'r');
        $theData5 = fread($fh5, filesize($myFile5));
        fclose($fh5);
        if($theData5 == 0){echo "<img src='img1.png'>";}
        if($theData5 == 1){echo "<img src='img2.png'>";}
?>



img.php
Код:

<?php
        $myFile1 = "out.txt";
        $fh1 = fopen($myFile1, 'r');
        $theData1 = fread($fh1, filesize($myFile1));
        fclose($fh1);
        if($theData1 == 1){$S1 = 0;}
        if($theData1 == 0){$S1 = 1;}
        $myFile2 = "out.txt";
        $fh2 = fopen($myFile2, 'w') or die("can't open file");
        fwrite($fh2, $S1);
        fclose($fh2);
?>


ksa 23.01.2018 16:47

Цитата:

Сообщение от REZERV
Помогите поменять код так чтобы при клике на саму фотографию изменялись данные в файле txt и после этого изображение менялась.

Это явно не в раздел "Библиотеки/Тулкиты/Фреймворки » jQuery"... :no:

REZERV 23.01.2018 16:56

Недоглядел, как перенести тему?

laimas 24.01.2018 07:17

fopen, fread, fwrite, fclose заменимо на file_get_contents/file_put_contents. Условия:

if($theData1 == 1){$S1 = 0;}
if($theData1 == 0){$S1 = 1;}

заменимы на одну операцию XOR:

$theData1 ^= 1;

без надобности определения еще одной переменной - $S1. Вывод по условию:

if($theData5 == 0){echo "<img src='img1.png'>";}
if($theData5 == 1){echo "<img src='img2.png'>";}

вообще не нужен, ибо имя файла будет определять $theData5 + 1:

echo '<img src="img'.($theData5 + 1).'.png">';

Что это такое вообще, для чего служит? Впечатление, что все это не оправдано или не обдумано.

REZERV 24.01.2018 17:34

Всем спасибо, Сам смог все поменять.


Часовой пояс GMT +3, время: 05:20.