Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    problema inserimento dati nel db

    ciao a tutti, ho un form di registrazione con questo codice:
    codice:
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>sfondo iscizione</title>
    <style type="text/css">
    <!--
    #Layer1 {
    	position:absolute;
    	left:336px;
    	top:58px;
    	width:304px;
    	height:375px;
    	z-index:1;
    	background-color: #FFCC00;
    }
    #Layer2 {
    	position:absolute;
    	left:282px;
    	top:30px;
    	width:198px;
    	height:322px;
    	z-index:0;
    }
    #Layer3 {
    	position:absolute;
    	left:407px;
    	top:5px;
    	width:127px;
    	height:22px;
    	z-index:2;
    }
    .Stile5 {font-family: Arial, Helvetica, sans-serif; font-weight: bold; font-size: xx-small; }
    #Layer4 {
    	position:absolute;
    	left:419px;
    	top:177px;
    	width:481px;
    	height:74px;
    	z-index:3;
    }
    .Stile6 {
    	font-family: "Courier New", Courier, monospace;
    	font-weight: bold;
    }
    #Layer5 {
    	position:absolute;
    	left:448px;
    	top:576px;
    	width:63px;
    	height:13px;
    	z-index:3;
    }
    body {
    	background-image: url(sfondo.JPG);
    }
    -->
    </style>
    </head>
    <body bgcolor="#ffffff">
    <div id="Layer1">
    <form action="register.php" method="post" enctype="multipart/form-data">
      <table width="300" height="326" border="0" cellpadding="0" cellspacing="0">
        <tr>
          <td height="26">Nome</td>
          <td><input type="text" name="nome" ></td>
        </tr>
        <tr>
          <td width="59" height="26">Cognome</td>
          <td width="235">
            <input type="text" name="cognome">      </td>
        </tr>
        <tr>
          <td>Nickname</td>
          <td>
              <input type="text" name="username">               </td>
        </tr>
        
        <tr>
          <td>Email</td>
          <td>
              <input type="text" name="email">              </td>
        </tr>
        <tr>
          <td>Indirizzo</td>
          <td>
              <input type="text" name="indirizzo">               </td>
        </tr>
        <tr>
          <td>Citta</td>
          <td><input type="text" name="citta"></td>
        </tr>
        <tr>
          <td>Stato</td>
          <td>
            <input type="text" name="stato" >      </td>
        </tr>
        <tr>
          <td>Eta</td>
          <td><select name="giorno" id="giorno">
            <option>01</option>
            <option>02</option>
            <option>03</option>
            <option>04</option>
            <option>05</option>
            <option>06</option>
            <option>07</option>
            <option>08</option>
            <option>09</option>
            <option>10</option>
            <option>11</option>
            <option>12</option>
            <option>13</option>
            <option>14</option>
            <option>15</option>
            <option>16</option>
            <option>17</option>
            <option>18</option>
            <option>19</option>
            <option>20</option>
            <option>21</option>
            <option>22</option>
            <option>23</option>
            <option>24</option>
            <option>25</option>
            <option>26</option>
            <option>27</option>
            <option>28</option>
            <option>29</option>
            <option>30</option>
            <option>31</option>
                </select>
            <select name="mese" id="mese">
              <option>1</option>
              <option>2</option>
              <option>3</option>
              <option>4</option>
              <option>5</option>
              <option>6</option>
              <option>7</option>
              <option>8</option>
              <option>9</option>
              <option>10</option>
              <option>11</option>
              <option>12</option>
            </select>
            
            <select name="anno" id="anno">
              <option>1948</option>
              <option>1949</option>
              <option>1950</option>
              <option>1951</option>
              <option>1952</option>
              <option>1953</option>
              <option>1954</option>
              <option>1955</option>
              <option>1956</option>
              <option>1957</option>
              <option>1958</option>
              <option>1959</option>
              <option>1960</option>
              <option>1961</option>
              <option>1962</option>
              <option>1963</option>
              <option>1964</option>
              <option>1965</option>
              <option>1966</option>
              <option>1967</option>
              <option>1968</option>
              <option>1969</option>
              <option>1970</option>
              <option>1971</option>
              <option>1972</option>
              <option>1973</option>
              <option>1974</option>
              <option>1975</option>
              <option>1976</option>
              <option>1977</option>
              <option>1978</option>
              <option>1979</option>
              <option>1980</option>
              <option>1981</option>
              <option>1982</option>
              <option>1983</option>
              <option>1984</option>
              <option>1985</option>
              <option>1986</option>
              <option>1987</option>
              <option>1988</option>
              <option>1989</option>
              <option>1990</option>
              <option>1991</option>
              <option>1992</option>
              <option>1993</option>
              <option>1994</option>
              <option>1995</option>
              <option>1996</option>
              <option>1997</option>
              <option>1998</option>
              <option>1999</option>
              <option>2000</option>
              <option>2001</option>
              <option>2002</option>
              <option>2003</option>
              <option>2004</option>
              <option>2005</option>
              <option>2006</option>
              <option>2007</option>
            </select>        </td>
        </tr>
        <tr>
          <td height="31">Peso</td>
          <td>
              <select name="peso" id="peso">
                <option>38</option>
                <option>39</option>
                <option>40</option>
                <option>41</option>
                <option>42</option>
                <option>43</option>
                <option>44</option>
                <option>45</option>
                <option>46</option>
                <option>47</option>
                <option>48</option>
                <option>49</option>
                <option>50</option>
                <option>51</option>
                <option>52</option>
                <option>53</option>
                <option>54</option>
                <option>55</option>
                <option>56</option>
                <option>57</option>
                <option>58</option>
                <option>59</option>
                <option>60</option>
                <option>61</option>
                <option>62</option>
                <option>63</option>
                <option>64</option>
                <option>65</option>
                <option>66</option>
                <option>67</option>
                <option>68</option>
                <option>69</option>
                <option>70</option>
                <option>71</option>
                <option>72</option>
                <option>73</option>
                <option>74</option>
                <option>75</option>
                <option>76</option>
                <option>77</option>
                <option>78</option>
                <option>79</option>
                <option>80</option>
                <option>81</option>
                <option>82</option>
                <option>83</option>
                <option>84</option>
                <option>85</option>
                <option>86</option>
                <option>87</option>
                <option>88</option>
                <option>89</option>
                <option>90</option>
                <option>91</option>
                <option>92</option>
                <option>93</option>
                <option>94</option>
                <option>95</option>
                <option>96</option>
                <option>97</option>
                <option>98</option>
                <option>99</option>
                <option>100</option>
                <option>101</option>
                <option>102</option>
                <option>103</option>
                <option>104</option>
                <option>105</option>
                <option>106</option>
                <option>107</option>
                <option>108</option>
                <option>109</option>
                <option>110</option>
                <option>111</option>
                <option>112</option>
                <option>113</option>
                <option>114</option>
                <option>115</option>
                <option>116</option>
                <option>117</option>
                <option>118</option>
                <option>119</option>
                <option>120</option>
                <option>121</option>
                <option>122</option>
                <option>123</option>
                <option>124</option>
                <option>125</option>
                <option>126</option>
                <option>127</option>
                <option>128</option>
                <option>129</option>
                <option>130</option>
                <option>131</option>
                <option>132</option>
                <option>133</option>
                <option>134</option>
                <option>135</option>
                <option>136</option>
                <option>137</option>
                <option>138</option>
                <option>139</option>
                <option>140</option>
                <option>Other</option>
              </select>        </td>
        </tr>
        <tr>
          <td height="29">Altezza</td>
          <td>
            <select name="altezza">
              <option>1.50-1.55</option>
              <option>1.55-1.60</option>
              <option>1.60-1.65</option>
              <option>1.65-1.70</option>
              <option>1.70-1.75</option>
              <option>1.75-1.80</option>
              <option>1.80-1.85</option>
              <option>1.85-1.90</option>
              <option>1.90-1.95</option>
              <option>1.95-2.00</option>
              <option>2.00-2.05</option>
              <option>2.05-2.10</option>
              <option>2.10-2.15</option>
              <option>2.15-2.20</option>
            </select>      </td>
        </tr>
        <tr>
          <td height="29">Capelli</td>
          <td>
            <select name="capelli">
              <option>Marroni</option>
              <option>Biondi</option>
              <option>Neri</option>
              <option>Rossi</option>
            </select>     </td>
        </tr>
        <tr>
          <td height="29">Occhi</td>
          <td>
            <select name="occhi">
              <option>Marroni</option>
              <option>Verdi</option>
              <option>Azzurri</option>
              <option>Viola</option>
              <option>Castano</option>
              <option>Neri</option>
              <option>Celesti</option>
            </select>      </td>
        </tr>
        <tr>
          <td height="29">Sesso</td>
          <td>
            <input name="sesso" type="radio" value="uomo">
            <span class="Stile5">M</span>
            <input name="sesso" type="radio" value="donna">
            <span class="Stile5">F</span> </td>
        </tr>
        <tr>
          <td height="29"></td>
          <td><input name="miofile" type="file" id="miofile">
    	  <input name="submit" type="submit" value="Invia" /></td>
        </tr>
      </table>
      </form></div>
    <div id="Layer2">[img]sfondo2.JPG[/img]</div>
    <div id="Layer3">
      <h4>Inserisci i tuoi dati </h4>
    </div>
    <div id="Layer5">HomePage</div>
    <div align="center">
      
    
    </p>
      
    
    
        
        
        <!--
    Inserisci i tuoi dati
    -->
        
        
    
      </p>
    </div>
    
    
    </p>
    
    
    </p>
    
    
    </p>
    
    
    </p>
    
    
    </p>
    
    
    </p>
    
    
    </p>
    
    
    </p>
    
    
    </p>
    
    
    </p>
    
    
    </p>
    
    
    </p>
    
    
    </p>
    
    
      </p>
    </body>
    </html>

  2. #2
    Dopo che clicco sul pulsante, passa i dati attraverso il file register.php:
    codice:
    <?
    
    include 'db.php';
    
    // Define post fields into simple variables
    $nome = $_POST['nome'];
    $cognome = $_POST['cognome'];
    $username = $_POST['username'];
    $email = $_POST['email'];
    $indirizzo = $_POST['indirizzo'];
    $citta = $_POST['citta'];
    $stato = $_POST['stato'];
    $giorno = $_POST['giorno'];
    $mese = $_POST['mese'];
    $anno = $_POST['anno'];
    $peso = $_POST['peso'];
    $altezza = $_POST['altezza'];
    $capelli = $_POST['capelli'];
    $occhi = $_POST['occhi'];
    $sesso = $_POST['sesso'];
    
    /* Lets strip some slashes in case the user entered
    any escaped characters. */
    
    $nome = stripslashes($nome);
    $cognome = stripslashes($cognome);
    $username = stripslashes($username);
    $email = stripslashes($email);
    $indirizzo = stripslashes($indirizzo);
    $citta = stripslashes($citta);
    $stato = stripslashes($stato);
    $giorno = stripslashes($giorno);
    $mese = stripslashes($mese);
    $anno = stripslashes($anno);
    $peso = stripslashes($peso);
    $altezza = stripslashes($altezza);
    $capelli = stripslashes($capelli);
    $occhi = stripslashes($occhi);
    $sesso = stripslashes($sesso);
    
    /* Do some error checking on the form posted fields */
    
    if((!$nome) || (!$cognome) || (!$username) || (!$email) || (!$indirizzo) || (!$citta) || (!$stato) || (!$giorno) || (!$mese) || (!$anno) || (!$peso) || (!$altezza) || (!$capelli) || (!$occhi) || (!$sesso)){
    	echo 'I campi non sono corretti! 
    ';
    	if(!$nome){
    		echo "Inserisci il nome.
    ";
    	}
    	if(!$cognome){
    		echo "Inserisci il cognome.
    ";
    	}
    	if(!$username){
    		echo "Inserisci un username.
    ";
    	}
    	if(!$email){
    		echo "Inserisci un email valida.
    ";
    	}
    	if(!$indirizzo){
    		echo "Inserisci l'indirizzo.
    ";
    	}
    	if(!$citta){
    		echo "Inserisci la tua città.
    ";
    	}
    	if(!$stato){
    		echo "Inserisci lo stato.
    ";
    	}
    	if(!$giorno){
    		echo "Inserisci il giorno.
    ";
    	}
    	if(!$mese){
    		echo "Inserisci il mese.
    ";
    	}
    	if(!$anno){
    		echo "Inserisci l'anno.
    ";
    	}
    	if(!$peso){
    		echo "Inserisci il tuo peso.
    ";
    	}
    	if(!$altezza){
    		echo "Inserisci la tua altezza.
    ";
    	}
    	if(!$capelli){
    		echo "Inserisci il colore dei capelli.
    ";
    	}
    	if(!$ochhi){
    		echo "Inserisci il colore degli occhi.
    ";
    	}
    	if(!$sesso){
    		echo "Inserisci il tuo sesso.
    ";
    	}
    	include 'join_form.php'; // Show the form again!
    	/* End the error checking and if everything is ok, we'll move on to
    	 creating the user account */
    	exit(); // if the error checking has failed, we'll exit the script!
    }
    
    /* Let's do some checking and ensure that the user's email address or username
     does not exist in the database */
    
     $sql_email_check = mysql_query("SELECT email FROM utenti WHERE email='$email'");
     $sql_username_check = mysql_query("SELECT username FROM utenti WHERE utenti='$username'");
    
     $email_check = mysql_num_rows($sql_email_check);
     $username_check = @mysql_num_rows($sql_username_check);
    
     if(($email_check > 0) || ($username_check > 0)){
     	echo "Errore nella compilazione: 
    ";
     	if($email_check > 0){
     		echo "[b]Quest'email è stata già registrata da un'altro utente.!
    ";
     		unset($email);
     	}
     	if($username_check > 0){
     		echo "Username già in uso da un'altro utente!
    ";
     		unset($username);
     	}
     	include 'index.htm'; // Show the form again!
     	exit();  // exit the script so that we do not create this account!
     }
    
    /* Everything has passed both error checks that we have done.
    It's time to create the account! */
    
    /* Random Password generator.
    http://www.phpfreaks.com/quickcode/R...nerator/56.php
    
    We'll generate a random password for the
    user and encrypt it, email it and then enter it into the db.
    */
    
    function makeRandomPassword() {
      $salt = "abchefghjkmnpqrstuvwxyz0123456789";
      srand((double)microtime()*1000000);
      	$i = 0;
      	while ($i <= 7) {
        		$num = rand() % 33;
        		$tmp = substr($salt, $num, 1);
        		$pass = $pass . $tmp;
        		$i++;
      	}
      	return $pass;
    }
    
    $random_password = makeRandomPassword();
    
    $db_password = md5($random_password);
    
    // Enter info into the Database.
    $info2 = htmlspecialchars($info);
    $sql = mysql_query("INSERT INTO utenti (nome, cognome, username, email, indirizzo, citta, stato, giorno, mese, anno, peso, altezza, capelli, occhi, sesso, signup_date, decrypted_password)
    		VALUES('$nome', '$cognome', '$username', '$email', '$indirizzo', '$citta', '$stato', '$giorno', '$mese', '$anno', '$peso', '$altezza', '$capelli', '$occhi', '$sesso', '$signup_date', '$decrypted_password', '$db_password', '$info2', now(), '$random_password')") or die (mysql_error());
    
    if(!$sql){
    	echo 'Errore nel creare il tuo account. Contatta il webmaster.';
    } else {
    	$userid = mysql_insert_id();
    	$activatepath = "activate.php?id=$userid&code=$db_password";
    	// Let's mail the user!
    	$subject = "Messaggio da: $sitename";
    	$message = "Caro $nome $cognome,
    	Sei stato appena registrato su $sitepath !
    
    	Per attivare l'account, clicca qui: $sitepath$activatepath
    
    	Dopo l'attivazione, inserisci questi dati:
    	Username: $username
    	Password: $random_password
    	Conserva Username e Password per un login futuro.
    
    	Grazie!
    	Webmaster, $sitename
    
    
    
    	Questa è un email automatica, non rispondere a quest'email!";
    
    	mail($email, $subject, $message, "From: $sitename <$adminemail>\nX-Mailer: PHP/" . phpversion());
    	echo 'Le informazioni per il tuo account ti sono stati inviati nella tua casella email! Controlla la tua email!';
    }
    
    ?>
    Invece di inviare i dati della registrazione nel db, mi esce questa scritta:
    codice:
    Column count doesn't match value count at row 1
    Cosa significa? Dove sbaglio?


    grazie in anticipo

  3. #3
    Hai creato le query nel datatbase?

  4. #4
    si

    il mio db e strutturato cosi:
    codice:
    -- phpMyAdmin SQL Dump
    -- version 2.8.0.2
    -- http://www.phpmyadmin.net
    -- 
    -- Host: sql.pm25.it
    -- Generato il: 24 Giu, 2007 at 01:56 PM
    -- Versione MySQL: 5.0.20
    -- Versione PHP: 4.3.10-21
    -- 
    -- Database: `pm25it62908`
    -- 
    
    -- --------------------------------------------------------
    
    -- 
    -- Struttura della tabella `utenti`
    -- 
    
    CREATE TABLE `utenti` (
      `userid` int(25) NOT NULL auto_increment,
      `nome` varchar(20) NOT NULL default '',
      `cognome` varchar(30) NOT NULL default '',
      `username` varchar(20) NOT NULL default '',
      `email` varchar(50) NOT NULL default '',
      `indirizzo` varchar(100) NOT NULL default '',
      `citta` varchar(30) NOT NULL default '',
      `stato` varchar(20) NOT NULL default '',
      `giorno` char(2) NOT NULL default '',
      `mese` char(2) NOT NULL default '',
      `anno` varchar(4) NOT NULL default '',
      `peso` char(3) NOT NULL default '',
      `altezza` varchar(10) NOT NULL default '',
      `capelli` varchar(10) NOT NULL default '',
      `occhi` varchar(10) NOT NULL default '',
      `sesso` varchar(5) NOT NULL default '',
      `nomei` varchar(255) NOT NULL default '',
      `password` varchar(255) NOT NULL,
      `decrypted_password` varchar(255) NOT NULL,
      `user_level` enum('0','1','2','3') NOT NULL default '0',
      `signup_date` datetime NOT NULL default '0000-00-00 00:00:00',
      `last_login` datetime NOT NULL default '0000-00-00 00:00:00',
      `activated` enum('0','1') NOT NULL default '0',
      PRIMARY KEY  (`userid`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=14 ;
    
    -- 
    -- Dump dei dati per la tabella `utenti`
    --

  5. #5
    ragazzi nessuno che mi puo' dare una mano?

  6. #6
    Utente di HTML.it L'avatar di Takeno
    Registrato dal
    May 2007
    Messaggi
    146
    hai provato a dare un valore alle option?
    del tipo...

    <option value=1>1</option>

  7. #7
    ciao takeno, fino ad adesso ho sempre fatto senza il value ed andava bene. Lo script che ho postato l'ho trovato su internet, l'ho modificato perche' nel mio form ci stanno piu' campi.

  8. #8
    Utente di HTML.it L'avatar di Takeno
    Registrato dal
    May 2007
    Messaggi
    146
    e quello su internet funzionava?

  9. #9
    si funzionava bene

  10. #10
    ragazzi non so piu' dove sbattere la testa, come mai mi da sempre quell'errore? Non ci capisco piu' niente, a me il codice mi sembra perfetto, cioe' non vedo errori, aiutatemi vi prego

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.