Dátum z datepickera do php premennej – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Dátum z datepickera do php premennej – PHP – Fórum – Programujte.comDátum z datepickera do php premennej – PHP – Fórum – Programujte.com

 

Dušan
~ Anonymní uživatel
62 příspěvků
15. 12. 2020   #1
-
0
-

Zdravím,

mám problém: na php stránke mám jquery datepicker. Chcel by som ho použiť tak, že po kliknutí na nejaký dátum sa mi prenesie tento dátum do premennej v php a ďalej spracuje.

Skúšal som použiť $_get, aj cookies - nedarí sa. On sa totiž najprv na serveri spracuje php skript a až potom js a html.

Tu posielam časť skriptu, kde ma zaujíma, ako dostať do premennej $datum hodnotu premennej JS vytvorenej po kliku na deň v datepickeri:


            <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
            <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

<div id="datepicker"></div>  <!-- tu zobrazí datepicker  -->

<script>
    $.datepicker.regional['sk'] = {
        monthNames: ['Január', 'Február', 'Marec', 'Apríl', 'Máj', 'Jún', 'Júl', 'August', 'September', 'Október', 'November', 'December'],
        monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'Máj', 'Jún', 'Júl', 'Aug', 'Sep', 'Okt', 'Nov', 'Dec'],
        dayNames: ['Nedeľa', 'Pondelok', 'Utorok', 'Streda', 'Štvrtok', 'Piatok', 'Sobota'],
        dayNamesShort: ['Ned', 'Pon', 'Uto', 'Str', 'Štv', 'Pia', 'Sob'],
        dayNamesMin: ['Ne', 'Po', 'Ut', 'St', 'Št', 'Pi', 'So'],
        firstDay: 1,
        dateFormat: 'ddmmyyyy'
    }
    $.datepicker.setDefaults($.datepicker.regional['sk']);
    $( '#datepicker' ).datepicker();
    document.cookie = datepicker;  //pokus o zapis cookie
</script>

          </head>
          <body>
          <br>

          <?php
         $datum = $_SESSION['datepicker'];
         echo "Je zvolený dátum: " . $datum;
          ?>

  </body>
</html>

Nahlásit jako SPAM
IP: 89.173.23.–
Kit+15
Guru
15. 12. 2020   #2
-
0
-

#1 Dušan
Je třeba obsah datepickeru nejprve předat do PHP.

Nahlásit jako SPAM
IP: 37.188.248.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Dušan
~ Anonymní uživatel
62 příspěvků
15. 12. 2020   #3
-
0
-

#2 Kit
Súhlasím, len netuším ako. Nie som zbehlý ani v JS ani v PHP, skôr začiatočník...

Nahlásit jako SPAM
IP: 89.173.23.–
gna
~ Anonymní uživatel
1891 příspěvků
16. 12. 2020   #4
-
0
-

Je otázka, co s tím datumem potřebuješ dělat, ale výběr v datepickeru můžeš odchytit v onSelect a data na server můžeš poslat AJAXem.

<?php
if (isset($_GET['action'])) {
  if ($_GET['action'] == 'setdate') {
    echo 'Zvoleny datum: ' . $_GET['date'];
  }
  exit;
}
?>
<html>
<head>
  <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
  <script>
  $(function() {
    $("#datepicker").datepicker({
        onSelect: function(date) {
          setDate(date);
        }
    });
  });
  function setDate(date) {
    $.ajax({
      data: { action: 'setdate', date: date }
    }).done(function(msg) {
      $("#response").text(msg);
    });
  }
  </script>
</head>
<body>
<div id="datepicker"></div>
<br>
<div id="response">???</div>
</body>
</html>
Nahlásit jako SPAM
IP: 213.211.51.–
Dušan
~ Anonymní uživatel
62 příspěvků
16. 12. 2020   #5
-
0
-

#4 gna
Wow, paráda, presne takto som si to predstavoval - na jednotku!

Ja chcem pomocou tohto skriptu zadať meno súboru - vytváram si automatický log udalostí, meno súboru je .../2020/12/16.txt  Po kliknutí na konkrétny deň teda chcem otvoriť konkrétny txt súbor. Ešte som to síce neskúšal, taký som happy z toho, že mi chodí ten výber dňa, ale počítam, že do php premennej dokážem dátum dostať z $_GET['date'] a tam si to už rozložím na rok, mesiac a deň.

Takže skladám hlbokú poklonu za riešenie a zároveň veľkú vďaku za pomoc. Priznám sa, že toto fórum som bral ako poslednú možnosť - maturoval som nad tým už týždeň, vytýral som strýca Google, ale nič, až doteraz.

Tak ešte raz: ozaj pekne ďakujem!

Připojen obrázek.

Nahlásit jako SPAM
IP: 89.173.23.–
Dušan
~ Anonymní uživatel
62 příspěvků
16. 12. 2020   #6
-
0
-

#4 gna
No... dúfam, že nie som drzý, ale narazil som na problém, kde si zasa neviem rady... :-(

Čo sa týka výberu dňa a načítania dátumu do premennej  - to chodí OK. Len neviem prečo, ozaj to nechápem, neviem v tom php skripte spracovať HTML značky, napr <b> alebo <br>... Ak dám niečo pred to php, tak sa to vypíše na obrazovku, skúšal som aj ?> <br> <?php ale nepomohlo to, tie značky sa zobrazujú spolu s textom...

Teda sa zobrazí napr. "Soubor <b> log/2020/12/14.txt </b> neexistuje!" namiesto toho, aby bolo meno súboru hrubým písmom.

Je na to nejaká pomoc? Ak áno, vopred za ňu ďakujem!

Tu je tá horná časť skriptu:

<?php
header("Content-Type: text/html; charset=UTF-8");

if (isset($_GET['action'])) {
  if ($_GET['action'] == 'setdate') {
    $datum = $_GET['date'];
    $den = substr($datum,0,2);
    $mes = substr($datum,2,2);
    $rok = substr($datum,4,4);

        $nazev_souboru="log/".$rok."/".$mes."/".$den.".txt";

          if (file_exists($nazev_souboru)) {
                $soubor=fopen($nazev_souboru, 'r');
                if($soubor){
                    while (!feof($soubor)){
                        $radek = fgets($soubor);
                        echo($radek."<br>");
                    }
                }
                else
                {
                    echo('Soubor <b>'.$nazev_souboru.'</b> se nepodařilo otevřít pro čtení!');
                }
           }
           else
           {
           echo('Soubor <b>'.$nazev_souboru.'</b> neexistuje!');
           }
  }
  exit;
}
?>

Nahlásit jako SPAM
IP: 89.173.23.–
gna
~ Anonymní uživatel
1891 příspěvků
16. 12. 2020   #7
-
0
-

   

$("#response").html(msg);
Nahlásit jako SPAM
IP: 213.211.51.–
Dušan
~ Anonymní uživatel
62 příspěvků
17. 12. 2020   #8
-
0
-

#7 gna
Vďaka, už mi všetko beží podľa mojich predstáv!

Nahlásit jako SPAM
IP: 89.173.23.–
Dušan
~ Anonymní uživatel
62 příspěvků
17. 12. 2020   #9
-
0
-

#8 Dušan
Iba pre zaujímavosť: demo, čo som chcel vlastne dosiahnuť je na adrese http://testlog.omradio.sk/

Datepicker je na ukážku obmedzený na možnosť otvoriť log od 7.12.2020 do aktuálneho (dnešného) dňa. Údaje sú zaznamenané iba dňa 15.12.2020, iné txt log súbory neexistujú a teda nie sú dostupné. Údaje v logu z 15.12.2020 sú iba demonštračné, znak | je medzi údajmi pre prípadný export do excelu.

Iste by bolo výhodnejšie riešiť takéto logovanie do MySQL databázy, ale takýto zápis do txt súboru má v mojom prípade opodstatnenie.

Skript sa mi podaril spojazdniť vďaka tomuto fóru a najmä užívateľovi gna, za čo som veľmi vďačný.

Nahlásit jako SPAM
IP: 89.173.23.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 58 hostů

Podobná vlákna

Php kod v premennej — založil Jakub

Datum v php — založil jura

Datum od do v PHP — založil fruti

Datum v PHP — založil Ota

Datum v SQL a PHP — založil Erik

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý