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

Discussione: php e bottone submit

  1. #1
    Utente di HTML.it L'avatar di garlick
    Registrato dal
    Dec 2001
    Messaggi
    385

    php e bottone submit

    ciao, io ho una pagina in php dove visualizzo dei dati presi da un database. E' presente nella stessa pagina anche un form per modificare tali dati. Come posso fare per far eseguire lo script di modifica direttamente nella stessa pagina, per non creare una pagina nuova che farebbe solo quello?

    Io avevo provato così:

    Codice PHP:

     <td height="65" align="center" valign="middle" bgcolor="#CFE1ED">
        
            <form name="form1" method="post" action="">
            <input name="prezzo" type="text" size="10">
            
            <input type="submit" name="bottone" value="modifica">
          </form>
          
        </td>
     

    <?php

        
    if($bottone=="modifica"){
        
        
        
             if(
    $par=="mezza"){             
             
    $query "UPDATE listino SET prezzo_mezza = '$prezzo' WHERE id='$id'";
             
    $resmysql_query($query);
             }
             
             if(
    $par=="completa"){             
             
    $query "UPDATE listino SET prezzo_completa = '$prezzo' WHERE id='$id'";
             
    $res=mysql_query($query);
             }
             
             if(
    $par=="bb"){             
             
    $query "UPDATE listino SET prezzo_bb = '$prezzo' WHERE id='$id'";
             
    $res=mysql_query($query);
             }
    Ma non funziona... forse sbaglio nell'action del form?

    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892
    Beh, la variabile $bottone non viene inizializzata... come fa a funzionare?

  3. #3
    Utente di HTML.it L'avatar di garlick
    Registrato dal
    Dec 2001
    Messaggi
    385
    grazie per la risposta.

    ho provato così

    Codice PHP:
        if(!isset($bottone)){
        
            
    $bottone "";
        }else{
        
             if(
    $par=="mezza"){             
             
    $query "UPDATE listino SET prezzo_mezza = '$prezzo' WHERE id='$id'";
             
    $resmysql_query($query);
             }
             
             if(
    $par=="completa"){             
             
    $query "UPDATE listino SET prezzo_completa = '$prezzo' WHERE id='$id'";
             
    $res=mysql_query($query);
             }
             
             if(
    $par=="bb"){             
             
    $query "UPDATE listino SET prezzo_bb = '$prezzo' WHERE id='$id'";
             
    $res=mysql_query($query);
             }

             
    header("Location:listino_visualizza.php");
        
        } 
    Non dà errore ma sembra che non faccia nulla quando invio il form.

  4. #4
    Utente di HTML.it L'avatar di garlick
    Registrato dal
    Dec 2001
    Messaggi
    385
    forse ho un'idea sul perchè non funziona... io passo a questa pagina due parametri via indirizzo e li prendo così:

    Codice PHP:

    $id 
    $_GET['id'];
    $par $_GET['par']; 

    Quando faccio l'invio del form però questi parametri mi servono e forse non arrivano correttamente allo scirpt per fare l'update nel database...

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892
    non va. Fai così:

    nell'action del form;

    <form name="form1" method="post" action="questapagina.php?modifica=si">

    e poi:

    <?php
    $modifica=$_REQUEST['modifica'];
    if($modifica=="si"){

    --- e qui il codice ---

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    483
    tu utilizzavi $bottone senza averla dichiarata...

    Codice PHP:
    $bottone $_POST['bottone']; 

  7. #7
    Utente di HTML.it L'avatar di garlick
    Registrato dal
    Dec 2001
    Messaggi
    385
    Originariamente inviato da franz79
    non va. Fai così:

    nell'action del form;

    <form name="form1" method="post" action="questapagina.php?modifica=si">

    e poi:

    <?php
    $modifica=$_REQUEST['modifica'];
    if($modifica=="si"){

    --- e qui il codice ---

    ho usato questo metodo e funziona. Solo che se accedo alla pagina senza modificare nulla $modifica non esiste e quindi ho un notice. Posso evitarlo con isset()?

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    892
    Come accedi alla pagina? se lo fai attraverso altre pagine passa il valore "no" nella stringa d'interrogazione. Diventerà il tuo default

  9. #9
    Utente di HTML.it L'avatar di garlick
    Registrato dal
    Dec 2001
    Messaggi
    385
    giusto grazie, non ci avevo pensato anche se è semplice come soluzione

  10. #10
    secondo me sarebbe stato molto piu semplice facendo cosi:
    Codice PHP:
         
            <form name="form1" method="post" action="questapagina.php"> 
            <input name="prezzo" type="text" size="10"> 
             <input type="hidden" name="funzione" value="modifica">
            <input type="submit" name="bottone" value="modifica"> 
          </form> 
           


    <?php 

    $funz 
    $_POST['funzione'];

        if(
    $funz=="modifica"){ 
         
         
         
             if(
    $par=="mezza"){             
             
    $query "UPDATE listino SET prezzo_mezza = '$prezzo' WHERE id='$id'"
             
    $resmysql_query($query); 
             } 
             
             if(
    $par=="completa"){             
             
    $query "UPDATE listino SET prezzo_completa = '$prezzo' WHERE id='$id'"
             
    $res=mysql_query($query); 
             } 
             
             if(
    $par=="bb"){             
             
    $query "UPDATE listino SET prezzo_bb = '$prezzo' WHERE id='$id'"
             
    $res=mysql_query($query); 
             }

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.