• Moderatore

    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


  • User Attivo

    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


  • Moderatore

    Ok grazie ora va!
    Sono ancora inesperto di mysql e dei form, mi perdo nelle cose + semplici :arrabbiato:


  • User Attivo

    @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... 😉


  • Moderatore

    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???