Problemi form php/html

giuseppe_123

Utente Attivo
8 Set 2016
53
0
6
25
Salve, sto utilizzando wordpress per creare un sito web. Ho avuto la necessità di creare un form per registrare dei partecipanti a un corso, in una tabella creata in un database su php my admin.
Ho creato un template dove ho incluso un file html. in questo file html ho creato il form sa visualizzare inserendo in "action" il file php che dovra essere eseguito all'invio dei dati tramite il tasto "invia".
Il problema che riscontro è che se vado a schiacciare invia, una volta inseriti i dati, wordpress mi apre un'altra pagina con la seguente scritta "ops questa pagina non si trova". In poche parole wordpress per quanto ho capito io non mi interpreta il codice php se non è inserito in un template.
qualcuno puo aiutarmi? ho provato tante soluzioni.
Ad esempio se creo un altro template in un file php e inserisco il codice php inserito nel file "form.php" e vado a creare una pagina wordpress aggiungengole il template appena creato, il codice inserito viene interpretato e funziona tutto correttamente perche basta associare l'url di questa pagina wordpress in "action" nel form.html e i dati vengono inseriti correttamente nella tabella del database. Solo che in questo modo appena si schiaccia il tasto invia si viene indirizzati a una pagina diversa. Mentre io desidero che appena si schiaccia il tasto invia compaiono le finestre popup con la conferma se l'utente è stato inserito o meno sempre nella stessa pagina.
TEMPLATE :

PHP:
<?php

/* Template name: FORM INS DATI

*/

get_header();
include "form.html";
?>

FILE HTML(form.html)
HTML:
<!DOCTYPE html>
<html lang="it">
    <head>
        <meta charset="UTF-8">
        <link href="style.css" rel="stylesheet" type="text/css">
    </head>

        <body>
     <form action="form.php"  method="POST">
             Nome:<br>
          <input type="text" name="nome"> <br>
               Cognome:<br>
        <input type="text" name="cognome"><br>
              Data di nascita<em> (yy-mm-dd)</em>: <br>
        <input type="text" name="data di nascita"><br>
              Luogo di nascita: <br>
        <input type="text" name="luogo di nascita"><br>
              Codice Fiscale: <br>
        <input type="text" name="codice fiscale"><br>
         <button type="submit">invia</button>

   </form>
      </body>
</html>

FILE PHP (form.php)
PHP:
<?php

include('conn_selez_db.php');

   $nome = $POST['nome'];
    $cognome = $_POST['cognome'];
    $nascita = $_POST['data_di_nascita'];
    $città = $_POST['luogo_di_nascita'];
    $cod_fiscale = $_POST['codice_fiscale'];

    $query = "INSERT INTO persone_inserite
         (nome, cognome,data_di_nascita,luogo_di_nascita,codice_fiscale)
          VALUES
         ('$nome','$cognome', '$nascita', '$città', '$cod_fiscale')";


    if (mysqli_query($conn, $query)) {
        print  "<script type='text/javascript'>alert('Utente inserito')</script>";

    } else {
        $errore = mysqli_error($conn);
        print "<script type='text/javascript'>alert('Errore: $errore')</script>";
    }

?>
 
Ultima modifica di un moderatore:
Cortesemente gli script per una corretta visualizzazione dovranno essere inseriti nei tag
Procedura manuale
[estensione]
..............
[/estensione]
Grazie.
 
Volevo chiederti nella tabella del db hai scritto città con accento sulla a prova a verificare e fammi sapere
inoltre controlla anche minuscole e MAIUSCOLE
 
Non riesco a inserire gli script nei tag.
Comunque la struttura della tabella nel database è cosi: ID, NOME, COGNOME, DATA_DI_NASCITA, CODICE_FISCALE,LUOGO_DI_NASCITA
 
PHP:
<?php

include('conn_selez_db.php');

$nome = $POST['nome'];
$cognome = $_POST['cognome'];
$nascita = $_POST['data_di_nascita'];
$luogo_di_nascita = $_POST['luogo_di_nascita'];
$codice_fiscale = $_POST['codice_fiscale'];

$query = "INSERT INTO persone_inserite
(nome, cognome,data_di_nascita, luogo_di_nascita,codice_fiscale)
VALUES
('$nome','$cognome', '$data_di_nascita', '$luogo_di_nascita', '$città', '$cod_fiscale')";


if (mysqli_query($conn, $query)) {
print "<script type='text/javascript'>alert('Utente inserito')</script>";

} else {
$errore = mysqli_error($conn);
print "<script type='text/javascript'>alert('Errore: $errore')</script>";
}

?>

mancava anche luogo_di_nascita non mi ero accorto
 
Ultima modifica:
allora anche nello script dovrai inserire tutto maiuscolo
 
se la città non ce non la puoi inventare tu deve essere presente anche nel db altrimenti non la legge lo script
 
il mio problema è che quando schiaccio invia nel form, wordpress mi apre la pagina form.php ma non mi interpreta il codice. Mi visualizza questa frase "ooops! questa pagina non si trova.
 
Perdonami nel tuo script nn trovo la connessione al db
 
Il file form.php deve avere l'accesso al db che in questo caso manca.
 
Hai provato ad a eseguire le giuste correzioni nel form.php?
 
Si ho gia provato ma compare sempre la stessa scritta, il file php non viene interpretato da wordpress.
Ho creato un template contenente il file form.php e l'ho assegnato a una pagina wordpress e funziona benissimo.
Il problema è che facendo cosi ogni volta che si schiaccia il tasto invia si viene reindirizzati a un'altra pagina web.
 
Quindi quando clicchi su ivia vieni reindirizzato su altra pagina e non sulla pagina inserita in questo caso form.php giusto?
 

Discussioni simili