Problemi form Pagina php

Stato
Chiusa ad ulteriori risposte.

Laura2002

Nuovo Utente
3 Mag 2021
4
0
1
Buonasera tutti, sto creando un sito web per un progetto scolastico ma sto riscontrando problemi nel form per la registrazione.
Praticamente una volta che l-utente scegli se essere un acquirente o un venditore, si passa questa scelta in una pagina php, quindi all'interno di un php ho messo un if con al suo interno un form html, purtroppo non riesco a far passare i valori inseriti in input.
Allego parte del Codice.(ovviamente nel codice originale é presente l'html)
<?php
$scelta=$_POST['scelta'];
if($scelta=='acquirente'){

echo'
<Center>
<h2>Benvenuto gentile cliente</h2>
</center>
<form action= ="'.$_SERVER["PHP_SELF"].'" method="POST" >

Inserisci le tue credenziali qui:
<fieldset>
<legend>Anagrafica</legend>
Nome:
<input type="text" name="Nome"><br><br>
Cognome:
<input type="text" name="Cognome"><br><br>
Data di Nascita:
<input type="date" name="DataNascita"><br><br>
</fieldset>
<fieldset>
<legend>Credenziali Account</legend>
NomeUtente:
<input type="text" name="User"><br><br>
Email:
<input type="email" name="email"><br><br>
Password:
<input type="Password" name="Password"><br><br>

</fieldset>
<input type="submit" name="submit">
<input type="reset">

</form>';

//Passaggi valori con variabile globale
$Nome=$_POST['Nome'];

$Cognome=$_POST['Cognome'];
$Data=$_POST['DataNascita'];
$User=$_POST['User'] ;
$Email=$_POST['email'];
$Pass=$_POST['Password'];
$sql="INSERT INTO acquirenti
(CodiceSede,Cognome,Nome,DataNascita,Email,Password,UserName)
VALUES('Ge13','bellaejd','$Nome','$Data','$Email','$Pass','$User')";
$Registrazione = $conn->query($sql);
$conn->close();
}
else if($scelta=='Venditore'){
echo'
<Center>
<h2>Benvenuto gentile Venditore</h2>
</center>
<form action="Registraform.php" method="POST">

Inserisci le tue credenziali qui:
<fieldset>
<legend>Info Azienda</legend>
<label for="Nome_">Nome creatore:</label>
<input type="text" id="Nome_" name="Nome_"><br><br>
<label for="Cognome_">Cognome creatore:</label>
<input type="text" id="Cognome_" name="Cognome_"><br><br>
<label for="NomeAzienda">Nome Azienda:</label>
<input type="Text" id="NomeAzienda" name="NomeAzienda"><br><br>
<label for="PIVA">Partita IVA</label>
<input type="Text" id="PartitaIva" name="PartitaIva"><br><br>
</fieldset>
<fieldset>
<legend>Credenziali Account</legend>
<label for="email_">Email:</label>
<input type="email" id="email_" name="email_"><br><br>
<label for="Password">Password:</label>
<input type="Password" id="Password_" name="Password_"><br><br>

</fieldset>
<button name=”submit” type=”submit”>Invio</button>
<input type="reset">

</form>';

$Nome_=isset($_POST['Nome_']) ;
$Cognome_=isset($_POST['Cognome_']);
$Azienda=isset($_POST['NomeAzienda']);
$PIVA=isset($_POST['PartitaIva']) ;
$Email_=isset($_POST['email_']);
$Pass_=isset($_POST['Password_']);
$sql_="INSERT INTO Venditori
(CodiceSede,Cognome,Nome,NomeAzienda,Email,Password,PartitaIva)
VALUES('Ge13','$Cognome_','$Nome_','$Azienda','$Email_','$Pass_','$PIVA')";
$result = $conn->query($sql_);
$conn->close();




}else if($scelta==null){
ECHO $Nome.'IAO';
echo"RICARICA LA PAGINA";
}

echo $Cognome.'ciao';
//order executes

?>

ps. Sapete come modificare il messaggio di errore dato quando ricarica la pagina?
 
se ho ben capito, il tuo lavoro consiste nella gestione di 3 passi,

il primo (che non ci é dato conoscere) che gestisce una scelta acquirente / venditore

il secondo che, differenziato dalla scelta precedente, propone il form consono alla scelta, oppure il messaggio di errore

il terzo che raccoglie i dati inseriti come acquirente o venditore e li memorizza nel database

lo script che hai pubblicato, a mio parere, non sostiene i 3 passi

ti pubblico lo script modificato con,

il primo passo, simulato inserendo uno dei tre valori che ti aspetti,
il secondo passo che visualizza il form atteso o l'errore
mentre il terzo passo lo lascio ancora a te,

il terzo passo lo puoi realizzare con,

2 script separati, uno per acquirente ed il secondo per il venditore
richiamati dalla action del rispettivo form

oppure

inserirli nello stesso script con una gestione identica a quella del secondo passo
avendo cura di riconoscere cosa sta "arrivando" in $_POST,
differenziando il valore del tasto submit, oppure inserendo la "scelta" come valore in un campo "hidden", da inserire nei due form

spero di aver capito e di essere stato chiaro nella risposta

PHP:
<?php
// PASSO 1 ------------------------------

$_POST['scelta'] = "Venditore";

$_POST['scelta'] = null;

$_POST['scelta'] = "acquirente";


// PASSO 2 ------------------------------

$scelta=$_POST['scelta'];

if($scelta == 'acquirente')
{
// PASSO 2 acq ------------------------------
?>
<Center><h2>Benvenuto gentile cliente</h2></center>
<form action= ="'.$_SERVER["PHP_SELF"].'" method="POST">
Inserisci le tue credenziali qui:

<fieldset>
<legend>Anagrafica</legend>
Nome:
<input type="text" name="Nome"><br /><br />
Cognome:
<input type="text" name="Cognome"><br /><br />
Data di Nascita:
<input type="date" name="DataNascita"><br /><br />
</fieldset>

<fieldset>
<legend>Credenziali Account</legend>
NomeUtente:
<input type="text" name="User"><br /><br />
Email:
<input type="email" name="email"><br /><br />
Password:
<input type="Password" name="Password"><br /><br />
</fieldset>

<input type="submit" name="submit">
<input type="reset">

</form>
<?php
}
else if($scelta == 'Venditore')
{
// PASSO 2 ven ------------------------------
?>
<Center><h2>Benvenuto gentile Venditore</h2></center>
<form action="Registraform.php" method="POST">
Inserisci le tue credenziali qui:

<fieldset>
<legend>Info Azienda</legend>
<label for="Nome_">Nome creatore:</label>
<input type="text" id="Nome_" name="Nome_"><br /><br />
<label for="Cognome_">Cognome creatore:</label>
<input type="text" id="Cognome_" name="Cognome_"><br /><br />
<label for="NomeAzienda">Nome Azienda:</label>
<input type="Text" id="NomeAzienda" name="NomeAzienda"><br /><br />
<label for="PIVA">Partita IVA</label>
<input type="Text" id="PartitaIva" name="PartitaIva"><br /><br />
</fieldset>

<fieldset>
<legend>Credenziali Account</legend>
<label for="email_">Email:</label>
<input type="email" id="email_" name="email_"><br /><br />
<label for="Password">Password:</label>
<input type="Password" id="Password_" name="Password_"><br /><br />
</fieldset>

<button name="submit" type="submit">Invio</button>
<input type="reset">

</form>
<?php
}
else
{
// PASSO 2 err ------------------------------

echo "CIAO, non hai fatto la scelta acquirente / venditore<br />";
echo "RICARICA LA PAGINA";
}

/*
// PASSO 3 DA GESTIRE ------------------------------
// in questo passo ci si arriva dal "submit" del passo 2

//Passaggi valori con variabile globale
$Nome=$_POST['Nome'];

$Cognome=$_POST['Cognome'];
$Data=$_POST['DataNascita'];
$User=$_POST['User'] ;
$Email=$_POST['email'];
$Pass=$_POST['Password'];
$sql="INSERT INTO acquirenti
(CodiceSede,Cognome,Nome,DataNascita,Email,Password,UserName)
VALUES('Ge13','bellaejd','$Nome','$Data','$Email','$Pass','$User')";
$Registrazione = $conn->query($sql);
$conn->close();


$Nome_=isset($_POST['Nome_']) ;
$Cognome_=isset($_POST['Cognome_']);
$Azienda=isset($_POST['NomeAzienda']);
$PIVA=isset($_POST['PartitaIva']) ;
$Email_=isset($_POST['email_']);
$Pass_=isset($_POST['Password_']);
$sql_="INSERT INTO Venditori
(CodiceSede,Cognome,Nome,NomeAzienda,Email,Password,PartitaIva)
VALUES('Ge13','$Cognome_','$Nome_','$Azienda','$Email_','$Pass_','$PIVA')";
$result = $conn->query($sql_);
$conn->close();
*/
?>
 
Sezione sbagliata!!!
Bob hau usato i tag per postare il codice
Leggi il regolamento
 
Non è nostra abitudine risolvere progetti scolastici!
 
Stato
Chiusa ad ulteriori risposte.

Discussioni simili