Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: Attribuzione valore a una variabile

  1. #1

    Attribuzione valore a una variabile

    Salve a tutti, ho un dubbio su l'assegnamento di una variabile.
    Nello specifico , sto usando uno script di jquery ui che una volta che l'utente seleziona una determinata data, appare una finestra con tutte le offerte disponibili.

    Quindi facendo un esempio:
    l'utente entra nel sito , compila i campi nome , cognome, email, oggetto, data di arrivo e data di partenza. Una volta che entrambe le date sono state inserite dall'utente, faccio una query , cercando le offerte che sono prenotabili in quel range di date, e le stampo a video , cosi che l'utente può decidere quella che piu' gli aggrada.

    Ora, il mio dubbio è il seguente: perchè se provo a stampare $_POST['data_arrivo'] non mi stampa niente? Considerando che data_arrivo è il nome del campo della data di arrivo che inserisce l'utente, devo per forza inviare il form affinche $_POST['data_arrivo'] venga memorizzata?

    Di seguito una parte del codice
    codice:
    //dichiaro un campo imput per l'inserimento della data di arrivo
    <div style="float:left; width:100%; height:100%;">
                 <span style="padding-top: 17px; padding-left:7px; display:block; float:left; width:40%; height:10%;">Selezionare Data di arrivo</span>
                 <p><input style="display:block; float:left; width:60%; height:10%;" type="text" name="data_arrivo" id="data_arrivo" required></p>
             </div>
    //dichiaro un campo imput per l'inserimento della data di partenza
             <div style="float:left; width:100%; height:100%;">
                 <p><span style="padding-top: 17px; padding-left:7px; display:block; float:left; width:40%; height:10%; ">Selezionare Data di partenza</span></p>
                 <p><input style="display:block; float:left; width:60%; height:10%;" type="text" name="data_partenza" id="data_partenza" required></p>
             </div>
    //mostro offerte solo se le due date sono settate
             <div class="hidden show_div">
             <p style= "text-align:center; font-weight:bold;">Offerte Disponibili nel periodo da Lei selezionato : </p>
                 <?php
                    $data_arrivo=$_POST['data_arrivo'];
                    $connessione=mysqli_connect("localhost","root","","lavoro") or die ("Impossibile connettersi");
                    $query_offerte="SELECT post_id from rlnz_postmeta where meta_key='inizio'";
                    ?>
                    <div style="text-align:center; font-weight:bold;">
                         
                    <?php
                    $i=0;
                    $res=mysqli_query($connessione,$query_offerte);
                     while($row = mysqli_fetch_array($res)){
                         
                     print $row['post_id'];?><input type="radio" name="offerta" value="valore<?php $i;?>"/>
                        <?php
                         $i++;
                         print "<br/>";
                     }
                 
                 
                 ?>
                 </div>
    Nello specifico non mi stampa neanche $_POST['data_arrivo'].

    Accade forse perchè non invio il form quindi all'interno del campo data_arrivo non risulta memorizzato niente??

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    28,336
    Ciao, conosci la differenza tra php (lato server) e html js jQuery (lato client) ?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Ciao, conosci la differenza tra php (lato server) e html js jQuery (lato client) ?
    Ho letto un paio di cose e mi sto cercando di documentare sempre di piu'.Vorrei utilizzare nello specifico la funzione $get , ma non ho trovato una degna spiegazione su internet ne in italiano , ne in inglese. Hai modo di spiegarmi tu?
    Grazie

  4. #4
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Ciao, conosci la differenza tra php (lato server) e html js jQuery (lato client) ?
    Ho trovato questa funzione che potrebbe fare al caso mio.
    http://www.html.it/pag/18403/jquery-ajax/

    Soltanto che non ho capito benissimo come potrei adattarla al mio caso.
    Nello specigico:
    -l'url è obblogatorio o posso mettere anche il percorso del mio file php?
    -Get e/o Post è consigliato metterlo nel mio caso?

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    28,336
    Quote Originariamente inviata da paloppa Visualizza il messaggio
    Ho trovato questa funzione che potrebbe fare al caso mio.
    http://www.html.it/pag/18403/jquery-ajax/

    Soltanto che non ho capito benissimo come potrei adattarla al mio caso.
    Nello specigico:
    -l'url è obblogatorio o posso mettere anche il percorso del mio file php?
    -Get e/o Post è consigliato metterlo nel mio caso?
    Scusa ma hai molta confusione perché credo che tu non conosca gli ambienti server (php) e client (jQuery/js)
    - direi di sì, non sapendo cosa intendi per “percorso mio file php”
    - penso che get sia sufficiente (ma se invii i dati in get in php dovrai leggerli sempre in get)
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Scusa ma hai molta confusione perché credo che tu non conosca gli ambienti server (php) e client (jQuery/js)
    - direi di sì, non sapendo cosa intendi per “percorso mio file php”
    - penso che get sia sufficiente (ma se invii i dati in get in php dovrai leggerli sempre in get)
    Ciao cavicchiandrea.

    Allora per quanto riguarda il file php , pensavo si dovesse mettere il percorso dove si trovasse il file in locale. Invece nel capo ci va proprio l'url.
    -Ho provato a inserire la funzione get ma il codice non va per niente, il print non funziona.


    Nello specifico , questo è il mio codice JS
    codice:
    $(function(){
    
        var self=this;
        var data1 = $('#data_arrivo');
        var data2 = $('#data_partenza');
         self.check_next=[0,0];
        data1.datepicker({
            minDate:0,
            dateFormat: "dd/mm/yy",
            onSelect: function (selectedDate) {
                        var depart = jQuery.datepicker.parseDate('dd/mm/yy', selectedDate);
                        depart.setDate(depart.getDate() + 1);
                        data2.datepicker("option", "minDate", depart);
            setTimeout(function(){
                data2.datepicker('show');
            }, 16);
                 self.check_next[0]=1;
            if(check_div(self.check_next))load_date_picker();
                    }
                });
        
        data2.datepicker({      
            minDate:0,
            dateFormat: "dd/mm/yy",
            onSelect:function(selectedDate){
                  self.check_next[1]=1;
            if(check_div(self.check_next))load_date_picker();
                
            }
            });
        $.ajax({
            url: 'http://localhost/lavoro/57-2/',
            method: 'GET',
            data: {
                data_arrivo: data1.val(),
                data_partenza: data2.val()
            }
        });
    });
    function check_div(ar){
        if(ar[0] && ar[1])return true;
        else return false;
    }
    
    function load_date_picker(){
        $('.show_div').removeClass('hidden');
    }
    Mentre qui una parte del codice dove provo a stampare la variabile , ma non me la visualizza appena mi compare il div.

    codice:
     <div class="hidden show_div">
             <p style= "text-align:center; font-weight:bold;">Offerte Disponibili nel periodo da Lei selezionato : </p>
                 <?php
                    print $_GET['data_arrivo'];
                    $connessione=mysqli_connect("localhost","root","","lavoro") or die ("Impossibile connettersi");
                    $query_offerte="SELECT post_id from rlnz_postmeta where meta_key='inizio'";
                    ?>
                    <div style="text-align:center; font-weight:bold;">
                         
                    <?php
                       
                    $i=0;
                    $res=mysqli_query($connessione,$query_offerte);
                     while($row = mysqli_fetch_array($res)){
                         
                     print $row['post_id'];?><input type="radio" name="offerta" value="valore<?php $i;?>"/>
                        <?php
                         $i++;
                         print "<br/>";
                     }
                 
                 
                 ?>
                 </div>
             </div>

    Ho notato però che se compilo il form , faccio invia , e poi ricompilo il form ,la data me la legge. Subito invece la data non la legge.

    Altre dubbio. Utilizzando una form , c'è la scelta del method. Bisogna mettere lo stesso method utilizzato sul JS (quindi in questo caso dato che utilizzo il get, il method della form sarà get?)


    Grazie

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    28,336
    Il codice php lo devi eseguire sul server nel div class="show_div" inserisci la risposta. Ristudiati il funzionamento di ajax
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Il codice php lo devi eseguire sul server nel div class="show_div" inserisci la risposta. Ristudiati il funzionamento di ajax
    Non sei stato chiarissimo con la risposta, potresti dirmi di piu per favore?

  9. #9
    Ho utilizzato il metodo $.ajax con json , soltanto che non mi stampa niente. Di seguito l'esempio che ho provato a fare:

    codice:
    function leggi_dati(){
        var data_arrivo = $('#data_arrivo').val();
        var nome=$('#cnome').val();
        $.ajax({
                type: 'POST',
                url: 'test-page-template.php',
                dataType : "json",
                data: {
                    data_arrivo: data_arrivo,
                    nome:nome
                    },
                success:function(data){
                    
                }
            });
    }

    Qui invece la prova del print sul php

    codice:
     print $_POST['data_arrivo'];
                    print $_POST['cname'];

    Non mi stampa nessuno dei due ovviamente, perchè? che passaggio mi manca?

  10. #10
    Il responso del server arriva nella success function
    mettici un alert(data)

    codice:
                success:function(data){
                    alert(data);
                }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2018 vBulletin Solutions, Inc. All rights reserved.