[PHP] Errore tasto submit per invio dati non funziona

asevenx

Utente Attivo
7 Nov 2009
312
0
16
Buon giorno ragazzi, sono incappato in un problema che non riesco a risolvere, molto probabilmente un errore di sintassi, ma nel mio form il tasto submit per l'invio degli input al database sembra non funzionare (clicco e non succede niente, non vedo neanche la pagina caricarsi). Posto il codice così magari si riesce ad individuare il problema. Premetto che ho copiato (e modificato) questo codice da un altro form che funziona correttamente, ho solo cambiato alcune variabili e qualche impostazione.

HTML:
<?php include ("../include/header.php")?>   

<?php
//creo l'id identificativo
if($actionGet == 'new')
{
    $sqlid = "SELECT codId FROM $tableSpeseTessere ORDER BY codId DESC LIMIT 1";
    {
        if(mysqli_num_rows($resultId) == 0)
            $codId = 1;
        else
        {
            while ($row = mysqli_fetch_array($resultId))
            {
                $codId = $row[0]+1;
                //echo "<p>ID: $codId</p>";
            }
        }
    }
}
           
$remove = '<a class="remove" href="#" onclick="$(this).parent().slideUp(function(){ $(this).remove() }); return false">Elimina</a>';

//variabili GET e action
$dbTable = $_GET['tb'];
$idGet = $_GET['id'];
$actionGet = $_GET['action'];

if($actionGet == 'update')
{
    $submit = "Modifica";
    $readonly = "readonly";
}
   
if($actionGet == 'new')
    $submit = "Crea";
   
//messaggio di info   
$noteInfo = "Puoi inserire più prestazioni cliccando su 'aggiungi'.";
   
//input del form (devono coincidere con il database)   
$formArray = array('numero_tessera', 'cliente', 'codice_transazione', 'prestazione', 'importo', 'note');
$testataArray = array('cliente', 'note');

//area solo per administratori
if(checkSessionAdmin() == 'yes')
{
            //dati da inviare
            $numero_tessera =  mysqlI_real_escape_string($mysqli_connect, $_POST['numero_tessera']);
            $codice_transazione = mysqlI_real_escape_string($mysqli_connect, $_POST['codice_transazione']);
            $cliente = mysqlI_real_escape_string($mysqli_connect, $_POST['cliente']);
            //$prestazione = $array;
            //$importo = mysqlI_real_escape_string($mysqli_connect ,$_POST['importo']);
            $note = mysqlI_real_escape_string($mysqli_connect, $_POST['note']);
            $date = date('y-m-d H:i');
           
            //COMANDO PER L'INVIO TEMPORANEO
            //invio i dati al database
            $query = "INSERT INTO $tableSpeseTessere (id, numero_tessera, codice, data, creato_da, azione, ultima_modifica, cliente,
            prestazione, importo, note, codId)
            VALUES ('', '$numero_tessera', '$codice', '$date', '$sessionUser', '1', '', '$cliente', '$arrayPrestazione[$x]', '$arrayImporto[$x]',
            '$note', '$codId')";
            mysqli_query($mysqli_connect,$query);
           

        //errore caricamento delle variabili post
        if(!$submit || zeroRecordID2($tableSpeseTessere, 'codId', $idGet) == true)
        {
?>
        <div id="emptyContainer">
            <div class="errorMessage"><?php echo $noTable ?></div>       
        </div>
<?php
        }
        else
        {   
?>
        <!-- se la sessione è attiva -->
        <div id="mainContainer">
            <div id="titleContainer">Inserisci i dati per registrare una transazione (pagina in costruzione)</div>
            <div id="formContainer">
                <div class="<?php echo $styleMex ?>"><?php echo $mex ?></div>
                <form action="" method="post">
                    <div>
                        <label>Numero tessera</label>
                        <input type="text" name="numero_tessera" value="<?php echo $numero_tessera ?>" class="<?php echo $classInput1 ?>"
                        pattern="^[0-9]{4}$" required autocomplete="off">
                        <span class="formHelp">inserisci 4 numeri</span>
                    </div>
                    <div>
                        <label>Cliente</label>
                        <select name = "cliente" <?php echo checkStyleSelect($_POST['cliente'], '')?> class="<?php echo $classInput2 ?>">
                            <option <?php echo checkSelectValue('',$cliente)?> <?php echo checkSelect('', $_POST['cliente'])?>></option>
<?php
//gruppo esterno           
                $sql = "SELECT codice, denominazione FROM $tableSoggetti ORDER BY denominazione";
               
                if ($result = mysqli_query($mysqli_connect, $sql))
                {
                    while ($row = mysqli_fetch_array($result))
                    {
                        if($_SERVER["REQUEST_METHOD"] != "POST")
?>
                        <option <?php echo checkSelectValue($row[0],$cliente)?> <?php echo checkSelect($row[0], $_POST['cliente'])?>><?php echo "$row[1]"; ?></option>
<?php
                    }
                }
?>           
                        </select>
                        <span class="formHelp">seleziona un opzione</span>                   
                    </div>                                   
                    <div>
                        <label>Codice transazione</label>
                        <input type="text" name="codice_transazione" value="<?php echo generateCode($tableSpeseTessere) ?>" class="<?php echo $classInput3 ?>"
                        pattern="^[0-9]{4}$" <?php echo $readonly?> required autocomplete="off">
                        <span class="formHelp">inserisci 4 numeri</span>
                    </div>

<?php
            if($actionGet=='new')
            {
?>
                    <div><br/></div>
                    <p>Elenco servizi</p>
<?php
//ciclo per creare tot righe quante sono le chiavi dell'array
                $i=0;
                $noRow=0;
                //ciclo per tutte le righe disponibili
                for($x=0; $x<($numArray+$noRow); ++$x)
                {
                    if($arrayPrestazione[$x])
                    {
                        ++$i
?>
                    <div class="clone2">   
                        <div>
                            <label>Servizio</label>
                            <input type="text" name="prestazione[<?php echo $x ?>]" value="<?php echo $arrayPrestazione[$x] ?>" class="<?php echo $classInput4[$x] ?>"
                            required readonly autocomplete="off">
                            <span class="formHelp">puoi cancellare il servizio</span>       
                        </div>
                       
                        <div class="none">               
                            <label>Importo</label>
                            <input type="text" name="importo[<?php echo $x ?>]" value="<?php echo $arrayImporto[$x] ?>" class="<?php echo $classInput5[$x] ?>"
                            pattern="^[1-9]\d{0,3}(\,\d{2})$" required autocomplete="off">
                            <span class="formHelp">inserisci un importo con la virgola seguito da due decimali</span>
                        </div>
                        <a class="remove" href="#" onclick="$(this).parent().slideUp(function(){ $(this).remove() }); return false">Elimina</a>
                    </div>
<?php
                    }
                    else
                        ++$noRow;
                }

if($numArray==0)
    $reqImporto = "required";
else
    $reqImporto = "";
?>
<?php $clone=0?>
                    <div class="clone">
                        <div>
                            <label>Servizio</label>
                            <select name = "prestazione[]" <?php echo checkStyleSelect($arrayPrestazione, '')?> class="<?php echo $classInput4[$x] ?>">
                                <option value=''></option>
<?php
//gruppo esterno           
                $sql = "SELECT codice, descrizione, importo FROM $tablePrestazioni ORDER BY descrizione"; 
               
                if ($result = mysqli_query($mysqli_connect, $sql))
                {
                    while ($row = mysqli_fetch_array($result))
                    {
?>
                        <option value="<?php echo "$row[1]"; ?>"><?php echo "$row[1] ($row[2]€)"; ?></option>
<?php
                    }
                }
?>           
                            </select>
                            <span class="formHelp">seleziona un opzione</span>                   
                        </div>                       
                       
                        <div class="none">
                            <label>Importo</label>
                            <input type="text" name="importo[]" value="" class="<?php echo $classInput5[$x] ?>"
                            pattern="^[1-9]\d{0,3}(\,\d{2})$"<?php echo $reqImporto ?>  autocomplete="off">
                            <span class="formHelp">inserisci un importo con la virgola seguito da due decimali</span>
                        </div>   
                    </div><a href="#" class="add" rel=".clone">Aggiungi<br></a>
<?php
            }
?>
                    <div>
                        <label>Note</label>
                        <input type="text" name="note" value="<?php echo $note ?>" class="<?php echo $classInput6 ?>"
                        pattern="^.{,100})$" autocomplete="off">
                        <span class="formHelp">massimo 100 caratteri</span>
                    </div>

   
                    <input type="submit" value="<?php echo $submit ?>" class="submit <?php echo $styleSubmit ?>"/>
                </form>
                         
                <div class="<?php echo $styleMex ?>"><?php echo $mex ?></div>
           
            <div id="noteContainer"><?php echo $noteInfo ?></div>
            </div>                       
        </div>       
   
<?php
        echo getHistory($tableSpeseTessere, $actionGet, $idGet);
        }
}
else
{
    echo checkSessionAdmin();
}
?>

<?php include ("../include/footer.php") ?>
Grazie a tutti per l'aiuto
 

zorro

Utente Attivo
20 Ott 2014
322
21
28
ROMA
Ciao,
ho letto, abbastanza sommariamente, il tuo codice e, a prima vista, 'definisci' le variabili passate col metodo GET:

//variabili GET e action
$dbTable = $_GET['tb'];
$idGet = $_GET['id'];
$actionGet = $_GET['action'];


mentre nel form definisci il metodo POST

<form action="" method="post">

ricontrolla bene. Oltrettutto, usando il metodo GET puoi vedere, sulla barra degi indirizzi del tuo browser, se e quali dati vengono passati, e il loro contenuto
 

asevenx

Utente Attivo
7 Nov 2009
312
0
16
le variabili GET mi servono per effettuare alcune azioni che faccio nella stessa pagina, tra cui la modifica dei dati una volta inviati (nell'esempio l'ho tolto per semplificare), mentre con POST invio i dati del form nel database.
 

zorro

Utente Attivo
20 Ott 2014
322
21
28
ROMA
Concordo......... e prova anche a sostutire il metodo POST con GET, in modo da verificare se e quello che viene passato
 

asevenx

Utente Attivo
7 Nov 2009
312
0
16
Grazie di tutto per l'aiuto, sono riuscito a risolvere, o quanto meno ora funziona, avevo fatto diversi errori che invalidavano delle funzioni che a loro volta dovevano permettere all'invio dei dati.
 
Discussioni simili
Autore Titolo Forum Risposte Data
S Errore PHP - Notice: Undefined index ... PHP 14
E Errore di lettura php in html PHP 8
A php metodo post jquery non da mai errore jQuery 4
M errore dopo passaggio Php 7.2 PHP 6
L form multipla php sql,errore in inserimento MySQL 0
M Errore JavaScript per php [objeto HTMLParagraphElement] PHP 0
F [PHP]Errore registrazione PHP 8
MarcoGrazia [PHP] Download di file con errore all'interno. PHP 1
M [PHP] WS-Security errore PHP 0
M [PHP] Errore di percorso, file not found PHP 3
ANDREA20 errore php PHP 1
N [PHP] ERRORE: SyntaxError: Unexpected token N in JSON at position 1 PHP 0
Tommy03 Errore invio email con PHP PHP 1
Shyson [PHP] Errore inspiegabile PHP 1
A index.php errore PHP 3
M Errore pagina php 'Cannot detect primary key' PHP 8
Tommy03 [PHP] Errore query selezione avg PHP 0
L [PHP] Errore 410 Gone... PHP 1
A [PHP] errore 404 e invio mai path pagina con link interrotto PHP 2
A [PHP] Errore select dati da db PHP 0
C [RISOLTO][PHP] Errore di sintassi PHP 8
A [PHP] ERRORE QUANDO CAMBIO SLUG NEL CMS e REWRITE PHP 6
Y [PHP] Errore di login dopo aver inserito Codice AdSense PHP 0
C [PHP] Errore "Fatal error: Call to undefined function getTotalUsers()" PHP 2
C [PHP] non trovo l'errore? PHP 3
S [PHP] errore funzione sleep PHP 5
L [PHP] Errore UPDATE su tabella DB PHP 22
elpirata [PHP][RISOLTO] Errore di tipo Notice: Undefined index - Come risolvere quando si hanno tante var PHP 10
L [PHP] upload con errore PHP 2
T [PHP] errore unexpected T_LNUMBER che non so interpretare PHP 6
F Form mail php errore invio PHP 5
Matilde1 PHP: errore connessione database PHP 12
M PHP: errore connessione a MySQL PHP 5
E [PHP] Errore Class 'JText' not found CMS (Content Management System) 2
fabry1986 [PHP] Errore nome utente scompare dopo logout PHP 14
A Errore PHP: Call to a member function on null PHP 5
C PHP errore Fatal Error: Allowed Memory Size of ... Bytes Exhausted PHP 7
C [PHP] PDO prepared statement - select query errore PHP 7
ANDREA20 [PHP] Errore $this->db_connection = new PDO PHP 0
S [PHP] Errore visualizzazione pagina web PHP 1
M [PHP] errore in semplie form inserimento dati PHP 7
A [RISOLTO]Errore caricamento file php PHP 21
ANDREA20 [PHP] Errore riga PHP 0
L [PHP] JTable Errore PHP 0
V [PHP] Non riesco a trovare errore PHP 25
M [PHP] Errore nell' assegnazione della variabile $this->id su una funzione PHP 1
Fuego2806 [PHP] Errore 500 Internal Server Error - sito Joomla! Joomla 10
M [PHP] Errore in ciclo foreach PHP 1
enzonero Errore di analisi php line 1 PHP 11
localhost.nicola Errore Apache su installazione php\ext - Unable to load dynamic library PHP 0

Discussioni simili