- Home
- Categorie
- Coding e Sistemistica
- PHP
- Form Impazzito!
-
Form Impazzito!
Buonasera,
è da tutto il pomeriggio che un form mi fa impazzire!
Ha smesso di funzionare di colpo! Non capisco se ho toccato io qualcosa e cosa, fatto sta che non trasmette più i dati inseriti!
Vi scrivo il codice:<form action="include/insann.php" method="post"> <p align="center">Nome url</p> <input type=text name="nomeurl"> <p align="center">Età</p> <input type=text name="eta"> <p align="center">Cellulare</p> <input type=text name="cell"> <p align="center">E-mail</p> <input type=text name="mail"> <p align="center">Msn</p> <input type=text name="msn"> <input type="submit" name="salva" value="salva"> </form>
Questo è il codice del php
[PHP]
$nomeurl = $_GET["nomeurl"];
$nome = $_GET["nome"];
$eta = $_GET["eta"];
$cell = $_GET["cell"];
$mail = $_GET["mail"];
$msn = $_GET["msn"];if (empty ($nomeurl)) {}
else {$connessione = mysql_connect($nome_host,$nome_utente,$pass_utente)or die("Connessione non riuscita: " . mysql_error());
mysql_select_db($nome_database, $connessione) or die("Errore nella selezione del database");$insert = "INSERT INTO ragazzi (nomeurl, nome, eta, cell, mail, msn, skype, sito, disp, ruolo, nfoto, mex) VALUES ('$nomeurl', '$nome', '$eta', '$cell', '$mail', '$msn', '$skype', '$sito', '$disp', '$ruolo', '$nfoto', '$mex')";
$query = mysql_query($insert) or die (mysql_error);
mysql_close($connessione);
echo '<p>Complimenti, inserimento riuscito:</p>';
foreach ($ins1 as $m) {
echo ''.$$m.', ';
}}
[/PHP]In pratica se prima aprendo la pagina avevo nell' url insann.php?nomeurl=valore&cell=valore ecc mentre ora l' url finisce con insann.php
-
Ciao,
ho dato un'occchiata veloce e quindi non so dirti se c'è altro:
stai inviando i dati via POST, ma tenti di leggerli via GET.Alessandro
-
Ok grazie ora va!
Sono ancora inesperto di mysql e dei form, mi perdo nelle cose + semplici
-
@Ivan88 said:
Ok grazie ora va!
La cosa divertente è il fatto che prima andava... cosa impossibile ovviamente...
O FUNZIONA o NON FUNZIONA... non è che il codice va a male...
-
Hai ragione perchè prima usavo il Post.
Faccio una domanda più intelligente e difficile:
Sto settando il mio form in modo da poter aggiungere in futuro nuovi campi senza dover modificare entrambe le pagine usando un array a doppia entrata:
$ins= array ( 'nomeurl'=>'Nome Url', 'nome'=>'Nome', 'eta'=>'Età', 'cell'=>'Cellulare', 'mail'=>'E-mail', 'msn'=>'Msn', ); $ins1=array(); $ins2=array(); foreach($ins as $chiave=>$valore){ array_push($ins1,$chiave); array_push($ins2,$valore); } ```Dopo di che uso la funzione implode per inserire i campi dell' array in una stringa:
foreach ($ins1 as $m) {
$$m = $_POST[$m];
}
$stringa = implode(', ', $ins1);
$stringa1 = array();
foreach ($ins1 as $m) {
array_push ($stringa1,"'$$m'");
}$stringa2 = implode(', ', $stringa1);
echo $stringa2;if (empty ($nomeurl)) {}
else {$connessione = mysql_connect($nome_host,$nome_utente,$pass_utente)or die("Connessione non riuscita: " . mysql_error());
mysql_select_db($nome_database, $connessione) or die("Errore nella selezione del database");$insert = "INSERT INTO ragazzi ($stringa) VALUES ('$nomeurl', '$nome', '$eta', '$cell', '$mail', '$msn', '$skype', '$sito', '$disp', '$ruolo', '$nfoto', '$mex')";
'$nomeurl', '$nome', '$eta', '$cell', '$mail', '$msn' ma se In VALUES () inserisco $stringa2 come in ragazzi () ho sostituito $stringa (che è: nomeurl, nome, eta, cell, mail, msn) invece dei valore $nomeurl mi salva proprio '$nomeurl' nel database. Ma la stringa è l' esatta copia di ciò che c'è ora in VALUES() perchè mi da 2 risultati diversi???