Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di ncastelletti
    Registrato dal
    Jun 2014
    residenza
    Italy
    Messaggi
    4

    Query viene eseguita due volte

    Salve a tutti ho appena riscontrato un problema con il mio sito (mobile).
    Parto inserendo il codice
    codice:
    
    <html>
    <head>
      <title>MPermessi</title>
    
    
      <meta name="viewport" 
      	content="width=device-width, initial-scale=1">
      <link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
      <script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
      <script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>  	
    </head>
    
    
    <body>
    
    
            <div data-role="page" id="pnotaspesa">
    
    
               <div data-role="header" data-position="fixed" data-theme="b" >
                    <h1>Richiedi permesso</h1>
                      <a data-direction="reverse" data-transition="slide" data-role="button" class="ui-btn-right" data-icon="home" href="MMenu.php?ruser=XX&ditta=DEMO&dt=1403079089" data-theme="b">Menu</a>
    
    
    		  <a data-direction="reverse" data-transition="slide" data-role="button" class="ui-btn-left" href="script2.php" data-theme="b">Vai a tutti i permessi</a>
    
    
    
    
    
    
    
    
    		 </div> <!-- /header -->
               <div data-role="content">
                                    <!-- form id="insnotaspesa" data-transition="slide" class="ui-body ui-body-c ui-corner-all" action="ValidateNotaSpesa.php" -->
                  
    		      <div data-role="fieldcontain">
    
    
    			  
    			  
    			  
    			 <?php 
    					if($_POST)	{	inserisci_record(); }
    					else 		{	mostra_form();		}
    					
    			function inserisci_record()
    		
    			
    		
    					
    				{ require 'config.php';
    				  require 'connect.php';    // configurazione e connessione al db 
    
    
    					$dataperm=$_POST["datap"];
    					$orainip=$_POST["oraip"];
    					$orafinp=$_POST["orafp"];		//richiamo i campi inseriti
    					$noteperm=$_POST["notep"];
    					
    					
    					//QUERY
    					
    					$query= " INSERT INTO permessi (dataric,tipo,dataini,oraini,orafin,datafin,note)
    							  VALUES (NOW(),'P','$dataperm','$orainip','$orafinp','$dataperm','$noteperm')	";
    						
    
    
    						
    						
    					?>		<button data-theme="e" data-inline="true" href="MElencoPermessi.php"  data-icon="check"  >Richiesta effettuata con successo!</button>
    			<?php			
    //echo "LA MIA QUERY1 " . $query;
    	//	die();  
    
    
    						
    					$result=mysql_query($query);
    					
    				/*	if(!$result) {
    									die("ERRORE NELLA QUERY $query"   . mysqlerror() );
    									}																*/
    									
    									$id_inserito = mysql_insert_id();
    									
    									mysql_close();
    									
    									
    					}
    
    
    
    
    
    
    						function  mostra_form()
    						
    						{				?>		<FORM NAME=mostra_form METHOD="post" ACTION="">
    
    
    
    
    			  
    			  <div data-role="collapsible-set">
     
        <div data-role="collapsible">
           <h3>Permesso</h3>
           <p>
    			<label for="datap"><b>Data</b></label>
                            <input style="font-weight: bold;text-align: center;" name="datap" id="datap" type="date" value=""> 
                            <p>
                            </p>
    			<label for="oraip" data-inline="true"><b>Ora inizio</b></label>
                            <input  style="font-weight: bold;text-align: center;" type="time" name="oraip"  id="oraip" />
                            <p>
                            </p>
    										
    						<label for="orafp" data-inline="true"><b>Ora fine</b></label>
                            <input style="font-weight: bold;text-align: center;" type="time" name="orafp"  id="orafp" />
                            <p>
                            </p>
    
    
                            <div data-role="fieldcontain">
                            <label for="Notep"><b>Note</b></label><br>
                            <input class="required" type="text" name="notep" id="notep" value="" />
                            </div>
    	   
    	   
    					 <div data-role="controlgroup" data-type="horizontal" >
    				<button data-theme="b" data-inline="true">Richiedi permesso</button>
    				
    			</div>
                             
                     
    				  <input type="hidden" name="dataif" id="dataif" value="dataif"/>
    				  <input type="hidden" name="dataff" id="dataff" value="dataff"/>			<!-- nascondo i warning -->
                      <input type="hidden" name="notef" id="notef" value="notef"/>
    	   
    	   </p>
        </div>
    	
    		</form>
    		
    			<?php }  ?>
    
    
    			
    			
    		<?php 
    					if($_POST)	{	inserisci_record2(); }
    					else 		{	mostra_form2();		}
    					
    			function inserisci_record2()
    		
    			
    		
    					
    				{ require 'config.php';
    				  require 'connect.php';    // configurazione e connessione al db 
    
    
    					$dataifer=$_POST["dataif"];
    					$dataffer=$_POST["dataff"];
    													//richiamo i campi inseriti
    					$notefer=$_POST["notef"];
    					
    				//	echo "<PRE>";print_r($_POST);echo "</PRE>";
    					
    					//QUERY
    					
    					$query= " INSERT INTO permessi (dataric,tipo,dataini,datafin,note)
    							  VALUES (NOW(),'F','$dataifer','$dataffer','$notefer')	";
    						
    ?>
    						
    						<button data-theme="e" data-inline="true" href="MElencoPermessi.php"  data-icon="check"  >Richiesta effettuata con successo!</button>
    	<?php					
    		//echo "LA MIA QUERY " . $query;
    		//die();  
    
    
    						
    					$result=mysql_query($query);
    					
    				/*	if(!$result) {
    									die("ERRORE NELLA QUERY $query"   . mysqlerror() );
    									}																*/
    									
    									$id_inserito = mysql_insert_id();
    									
    									mysql_close();
    									
    									
    					}
    
    
    
    
    
    
    						function  mostra_form2()
    						
    						{				?>		<FORM NAME=mostra_form2 METHOD="post" ACTION="">
    			
    			
    			
    
    
     
       
        <div data-role="collapsible">
           <h3>Ferie</h3>
           <p>
    	   
    	   <label for="dataif"><b>Data inizio</b></label>
           <input style="font-weight: bold;text-align: center;" name="dataif" id="dataif" type="date" value=""> 
                            <p>
                            </p>
    	   
    	   <label for="dataff"><b>Data Fine</b></label>
           <input style="font-weight: bold;text-align: center;" name="dataff" id="dataff" type="date" value=""> 
                            <p>
                            </p>
    	   
    	   
    	                     <div data-role="fieldcontain">
                            <label for="notef"><b>Note</b></label><br>
                            <input class="required" type="text" name="notef" id="notef" value="" />
                            </div>
    	   
    	   
    					 	 <div data-role="controlgroup" data-type="horizontal" >
    				<button data-theme="b" data-inline="true">Richiedi ferie</button>                        
                     
                          </div>
    	   
    				  <input type="hidden" name="datap" id="datap" value="datap"/>
    				  <input type="hidden" name="oraip" id="oraip" value="oraip"/>
    				  <input type="hidden" name="orafp" id="orafp" value="orafp"/>			<!-- nascondo i warning -->
                      <input type="hidden" name="notep" id="notep" value="notep"/>
    	   
    	   
    	   
    	   
    	   </p>
        </div>
     
    </div>
    			  
    			  
    			  
    			  
    			  
    		<?php }  ?>
    			  
    			  
    			  
    				 
                          </div><!-- /fieldcontain -->
                          <input type="hidden" name="ruser" value="XX" />
                          <input type="hidden" name="savenotens" id="savenotens" value="" />
    
    
    
    
                    </form>
                                </div><!-- /content -->
                <!-- Popup -->
                
                     
    
    
                     
                     </div><!-- /content -->
                 </div><!-- /div popup -->
        	</div><!-- /page -->
    </body>
    </html>





    Il problema è il seguente:
    Quando faccio una richiesta di permesso viene inviato al db mysql la richiesta corretta, ma in più viene aggiunta una 'riga' al db contenente una richiesta di ferie con tutti i valori vuoti.
    Avviene il contrario se parto facendo una richiesta di ferie.
    Con dei controlli ho capito che vengono sempre eseguite le due query assieme, la mia domanda è come faccio a fare in modo che venga eseguita la query richiesta?


    Grazie!

  2. #2
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Ti viene vengono eseguite le due query per che semplicemente fai un controllo su $_POST
    Codice PHP:
    if($_POST)  {   inserisci_record(); }
    ...
    if(
    $_POST)  {   inserisci_record2(); } 
    Che sarà vero sia in caso richiedi un permesso sia una richiesta di ferie.
    Per evitare ciò, metti un name ai bottoni e controlla quale ti arriva.
    Quindi ai button aggiungi
    Codice PHP:
    <button name="permesso" data-theme="b" data-inline="true">Richiedi permesso</button>
    ...
    <
    button name="ferie" data-theme="b" data-inline="true">Richiedi ferie</button
    ed invece di controllare solo $_POST
    Codice PHP:
    if(isset($_POST['permesso']))  {   inserisci_record(); }
    ...
    if(isset(
    $_POST['ferie']))  {   inserisci_record2(); } 
    Oppure, invece del name sul button (se hai problemi), puoi aggiungere un campo hidden diverso per le due form...ma il discorso è lo stesso

  3. #3
    Utente di HTML.it L'avatar di ncastelletti
    Registrato dal
    Jun 2014
    residenza
    Italy
    Messaggi
    4
    Quote Originariamente inviata da boots Visualizza il messaggio
    Ti viene vengono eseguite le due query per che semplicemente fai un controllo su $_POST
    Codice PHP:
    if($_POST)  {   inserisci_record(); }
    ...
    if(
    $_POST)  {   inserisci_record2(); } 
    Che sarà vero sia in caso richiedi un permesso sia una richiesta di ferie.
    Per evitare ciò, metti un name ai bottoni e controlla quale ti arriva.
    Quindi ai button aggiungi
    Codice PHP:
    <button name="permesso" data-theme="b" data-inline="true">Richiedi permesso</button>
    ...
    <
    button name="ferie" data-theme="b" data-inline="true">Richiedi ferie</button
    ed invece di controllare solo $_POST
    Codice PHP:
    if(isset($_POST['permesso']))  {   inserisci_record(); }
    ...
    if(isset(
    $_POST['ferie']))  {   inserisci_record2(); } 
    Oppure, invece del name sul button (se hai problemi), puoi aggiungere un campo hidden diverso per le due form...ma il discorso è lo stesso
    Grazie

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.