Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Aggiornare parzialmente una pagina

    Salve a tutti ho un nuovo problema...cercher� di essere pi� dettagliato possibile...
    Allora io ho 1 pagina chiamata
    -arrivi.php
    In questa pagina estraggo dei record da un database mysql e li inserisco in una tabella per mostrarli a video. In seguito tramite questo FORM
    codice:
    <form method="post" onsubmit="return ValidaCheckbox();">
    <input style="width:200px; height: 200px" align="left" type="submit" id="submit" name="submit" value="Arrivati"/>
    invio i dati ad un altra pagina:
    -controlloarrivi.php
    che inserir� i dati nel database e restituir� l'output dell'inserimento.

    Per evitare doppi inserimenti nel database, a causa di up/refresh/back, utilizzo un token
    FIN QUI TUTTO OK

    A capo delle due pagine ho un index che include arrivi.php e controllo.php (COMMENTATA)
    codice:
    	session_start(); //AVVIO SESSIONE
       if (isset($_POST['submit']))
        {
            if($_SESSION['user_token'] == $_POST['user_token']) {  // QUANDO VIENE PREMUTO IL TASTO SUBMIT E IL TOKEN RISULTA VALIDO
    			unset($_SESSION['user_token']); //CANCELLO VECCHIA SESSIONE
    			include_once('./script/token.php'); //CREO TOKEN PER LA SECONDA SESSIONE
    			include_once('./arrivi.php'); //RICARICO ARRIVI.PHP
    			include_once('./script/controlloarrivi.php'); //OUTPUT DEL PRIMO INSERIMENTO
            } else { 
              header("location: ./index.php"); //ALTRIMENTI QUANDO IL TOKEN RISULTA SCADUTO RICARICA LA PRIMA PAGINA
            }
        } else{
    		include_once('./script/token.php'); //CREA TOKEN PER LA PRIMA SESSIONE
    		include_once('./arrivi.php'); //MOSTRA LA TABELLA CON IL FORM E IL TASTO SUBMIT
        }
    TUTTO FUNZIONA!
    Per� ho un problema: Ogni volta che premo il tasto submit, arrivi.php, non viene ricaricato e di conseguenza, nella tabella a video, restano ancora i record che sono gi� stati processati da controlloarrivi.php e che quindi non dovrebbero pi� comparire.

    Leggendo un po in giro, per ricaricare parzialmente una pagina, dovrei usare jquery/ajax
    Allora ho provato in questa maniera:
    codice:
       session_start();
       if (isset($_POST['submit']))
        {
            if($_SESSION['user_token'] == $_POST['user_token']) {
    			unset($_SESSION['user_token']);
    			include_once('./script/token.php');
            ?>
    			<div id="div"></div>
    	<?php
    			include_once('./script/controlloarrivi.php');
            } else { 
              header("location: ./2.php");
            }
        } else{
    		include_once('./script/token.php');
    		include_once('./arrivi.php');
        }
    ?>
    <script>
    $(function(){
         $("#div").load("arrivi.php");  
    });
    </script>
    Ed ho risolto in parte.... adesso, al primo submit, la tabella viene ricaricata egregiamente ed ottengo l'output da controlloarrivi.php! Mentre la seconda volta che premo il tasto submit per poter effettuare una nuova operazione (senza aver aggiornato la pagina) scompare l'output del primo inserimento e purtroppo non avviene il nuovo inserimento (ovviamente non compare nemmeno il nuovo output).
    Come potrei fare per far si che ci� avvenga? Se avete soluzioni alternative (ad esempio tramite iframe o altro) sono ben accette. Grazie

  2. #2
    Ovviamente "A capo delle due pagine ho un index che include arrivi.php e controllo.php (COMMENTATA)" è controlloarrivi.php..il forum nn mi fa modificare



  3. #3
    Ho trovato il problema...una stupidata.... inserendo arrivi.php prima di controlloarrivi.php veniva caricata prima la tabella e poi venivano processati i prodotti da controlloarrivi.php...
    Ma adesso ovviamente sorge un altro problema ho bisogno che i 3 echo vengano mostrati dopo arrivi.php...come posso fare? Grazie
    codice:
    	foreach($_POST['seleziona'] as $k=>$v)
    	{
    		foreach ($pdo->query("SELECT * FROM $tabella_prenotati WHERE id='$v'") as $row)
    		{		
    			//SE LA QUANTITA ARRIVATA E' UGUALE A QUELLA PRENOTATA
    			if ($_POST['quantita'][$k] == $row['quantita'])
    			{
    			$query = $pdo->query("query");
    			echo "RISULTATI";
    			}
    			//SE LA QUANTITA ARRIVATA E' MINORE DI QUELLA PRENOTATA
    			elseif ($_POST['quantita'][$k] < $row['quantita'])
    			{ 
    			$query = $pdo->query("query");
    			echo "RISULTATI"; 
    			}
    			//SE LA QUANTITA ARRIVATA E' MAGGIORE DI QUELLA PRENOTATA
    			elseif ($_POST['quantita'][$k] > $row['quantita'])
    			{
    			echo "RISULTATI "; 
    			}
    		}
    	}

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 © 2025 vBulletin Solutions, Inc. All rights reserved.