[RESOLU] Problème dans ma bbd à cause de bigint

Eléphant du PHP | 386 Messages

12 sept. 2012, 21:01

Donc, j'ai mis le mysql_error();
Mais il faut aussi que remet le champ lastquerytime dans ma base de donnée avec bigint(20)

Eléphant du PHP | 386 Messages

12 sept. 2012, 21:35

Il y a une erreur sur la page register.php

Fatal error: Function name must be a string in /public_html/members/register.php on line 56

Voici le code de la page :
<?php
session_start();
require($_SERVER["DOCUMENT_ROOT"].'/include/connect.php');

	$mail = htmlentities($_POST['mail']);
	$pseudo = htmlentities($_POST['pseudo']);
	$mdp = htmlentities($_POST['mdp']);
	$verif_mdp = htmlentities($_POST['verif_mdp']);
	$nom = htmlentities($_POST['nom']);
	$prenom = htmlentities($_POST['prenom']);
	$sexe = htmlentities($_POST['sexe']);
	$jour = htmlentities($_POST['jour']);
	$mois = htmlentities($_POST['mois']);
	$annee = htmlentities($_POST['annee']);

    if (preg_match("!^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$!", $mail))
    {
		
		$message1 = '<html><body><div style="font-size: 14px">Cher(e) <span style="text-transform: capitalize;">'.$prenom.' '.$nom.',</span><br />'; 
		$message1 .= '</br>';
		$message1 .= 'Vous faites désormais partie de la communauté Web Astronomie !<br /><br />'; 
		$message1 .= 'Voici un rappel de vos identifiants, notez les précieusement : <br /><br />';
		$message1 .= 'Votre pseudo : <b>'.$pseudo.'</b><br />';
		$message1 .= 'Votre Mot de passe : <b>'.$mdp.'</b><br /><br />';
		$message1 .= 'Vous pouvez d\'ores et déjà : <br /><br />
					  √  Renseigner ou compléter votre compte<br />
					  √  Partager des articles, photos ou liens<br />
					  √  Rechercher et devenir ami(e) avec des membres du réseau<br />
					  √  Tchater en direct avec vos amis<br />
					  √  Participer au forum<br /><br />
					  Et bien plus encore !<br /><br />
					 ';
		$message1 .= 'Cordialement<br />L\'équipe de <a href="'.$url_site.'">'.$nom_site.'</a></div></body></html>';

		$sql = connect_sql();
		
		$verification = mysql_query("SELECT COUNT(*) FROM wa_communaute WHERE pseudo='$pseudo' OR mail='$mail'") or die (mysql_error());
		$donnees = mysql_fetch_array($verification)or die (mysql_error());

		if($donnees['COUNT(*)'] >= 1)
		{ 
			$reponse1 = '<div id="reponse02" align="center">L\'adresse email est déjà utilisée, merci d\'en choisir une autre</div>';
		}
		else
		{	
			if( empty($pseudo) || empty($mdp) || empty($verif_mdp) || empty($mail) || empty($nom) || empty($prenom) || empty($sexe) || empty($jour) || empty($mois) || empty($annee))
			{
				$reponse1 = '<div id="reponse03" align="center">Un ou plusieurs champs ne sont pas remplis</div>';
			}
			elseif( $mdp != $verif_mdp)
			{
				$reponse1 = '<div id="reponse04" align="center">Les mots de passe ne sont pas identiques</div>';
			}
			else
			{
				$sql("INSERT INTO wa_communaute VALUES ('','$pseudo', '$mdp', '$mail', '$nom', '$prenom', '$sexe', '$jour', '$mois', '$annee')");
				$ret = mysql_query($sql);
				if ($ret === false){
					 trigger_error('Erreur SQL : '.$sql.'<br />'.mysql_error(), E_USER_ERROR);
				}
				$reponse = mysql_query ("SELECT * FROM wa_communaute WHERE pseudo='$pseudo'");
				$donnees = mysql_fetch_array ($reponse);
				$pseudo_sql = $donnees['pseudo'];
				setcookie("pseudo", $_POST["pseudo"], time() + 90 * 24 * 60 * 60, "/");
				$_SESSION['pseudo'] = $pseudo_sql;
				header('location: index.php');
				$entete = "MIME-Version: 1.0\r\n";
				$entete .= "Content-type: text/html; charset=utf-8\r\n";
				$entete .= "From: \"Web Astronomie\" <$email_admin>\r\n";
				$entete .= "Reply-To: $email_admin\r\n";
				mail($mail,'Bienvenue sur '.$nom_site.'' , $message1, $entete);
			}
		}
		mysql_close($sql);
	}
	else {
		$reponse1 = '<div id="reponse05" align="center">Veuillez remplir tous les champs et vérifiez que l\'adresse email est correctement écrite et valide<br />
		<br />En cliquant sur Inscription, vous acceptez nos conditions d\'utilisation.</div>';
	}
?>
<!DOCTYPE html>
<html lang="fr">
<head>
	<meta charset="utf-8">
	<title>Inscription | Web Astronomie</title>
	<meta name="revisit-after" content="15 days">
	<meta name="description" content="Web Astronomie vous permet de publier vos photos, vos actualités, vos articles avec vos amis et les internautes du site. Inscrivez-vous dès maintenant !" />
	<meta name="keywords" content="Web Astronomie, Astronomie, Web, Astro, Communauté, Partagez" />
	<?php include($_SERVER["DOCUMENT_ROOT"].'/include/head.inc.php'); ?>
	
</head>
<body>

	<?php include($_SERVER["DOCUMENT_ROOT"].'/include/header.inc.php'); ?>
	
	<div id="globalContainer">
		<div id="content">
			<div id="main">
				<div id="leftCol">
					<?php include($_SERVER["DOCUMENT_ROOT"].'/include/bloc_left.inc.php'); ?>
				
				</div>
				<div id="contentCol">
					<div id="rightCol">
						<?php include($_SERVER["DOCUMENT_ROOT"].'/include/bloc_right.inc.php'); ?>
					
					</div>
					<div id="contentArea">
						<div class="bloc_center">
							<h1>Inscription</h1>
							<form action="<?php echo $url_site; ?>/members/register.php" method="post" class="form_register"><br />
								<h4><u>Vos identifiants :</u></h4><br />
								<table>
									<tr>
										<td><label for="pseudo">Pseudo : </label></td>
										<td><label for="mdp">Mot de passe : </label></td>
									</tr>
									<tr>
										<td><input type="text" class="input_pseudo_mdp" id="pseudo" name="pseudo" maxlength="20" value="<?php echo $_POST['pseudo']; ?>" /></td>
										<td><input type="password" class="input_pseudo_mdp" id="mdp" name="mdp" maxlength="20" /></td>
									</tr>
									<tr>
										<td><label for="verif_mdp">Confirmer le mot de passe : </label></td>
									</tr>
									<tr>
										<td><input type="password" class="input_pseudo_mdp" id="verif_mdp" name="verif_mdp" maxlength="20" /></td>
									</tr>
								</table>
								<h4><u>Informations personnelles :</u></h4><br />
								<table>
									<tr>
										<td><label for="nom">Nom de famille : </label></td>
										<td><label for="prenom">Prénom : </label></td>
									</tr>
									<tr>
										<td><input type="text" class="input_nom_prenom" id="nom" name="nom" maxlength="20" value="<?php echo $_POST['nom']; ?>" /></td>
										<td><input type="text" class="input_nom_prenom" id="prenom" name="prenom" maxlength="20" value="<?php echo $_POST['prenom']; ?>" /></td>
									</tr>
								</table>
								<table>
									<tr>
										<td><label for="mail">Adresse email : </label></td>
									</tr>
									<tr>
										<td><input type="text" class="input_email" id="mail" name="mail" maxlength="150" value="<?php echo $_POST['mail']; ?>" /></td>
									</tr>
									<tr>
										<td><label>Date de naissance : </label></td>
									</tr>
									<tr>
										<td><select class="jour" name="jour">
												<optgroup label="Jour : ">
													<option value="<?php echo $_POST['jour']; ?>"></option>
													<option value="1">1</option>
													<option value="2">2</option>
													<option value="3">3</option>
													<option value="4">4</option>
													<option value="5">5</option>
													<option value="6">6</option>
													<option value="7">7</option>
													<option value="8">8</option>
													<option value="9">9</option>
													<option value="10">10</option>
													<option value="11">11</option>
													<option value="12">12</option>
													<option value="13">13</option>
													<option value="14">14</option>
													<option value="15">15</option>
													<option value="16">16</option>
													<option value="17">17</option>
													<option value="18">18</option>
													<option value="19">19</option>
													<option value="20">20</option>
													<option value="21">21</option>
													<option value="22">22</option>
													<option value="23">23</option>
													<option value="24">24</option>
													<option value="25">25</option>
													<option value="26">26</option>
													<option value="27">27</option>
													<option value="28">28</option>
													<option value="29">29</option>
													<option value="30">30</option>
													<option value="31">31</option>
												</optgroup>
											</select>
											<select class="mois" name="mois">
												<optgroup label="Mois : ">
													<option value="<?php echo $_POST['mois']; ?>"></option>
													<option value="Janvier">Janvier</option>
													<option value="Février">Février</option>
													<option value="Mars">Mars</option>
													<option value="Avril">Avril</option>
													<option value="Mai">Mai</option>
													<option value="Juin">Juin</option>
													<option value="Juillet">Juillet</option>
													<option value="Août">Août</option>
													<option value="Septembre">Septembre</option>
													<option value="Octobre">Octobre</option>
													<option value="Novembre">Novembre</option>
													<option value="Décembre">Décembre</option>
												</optgroup>
											</select>
											<select class="annee" name="annee">
												<optgroup label="Année : ">
													<option value="<?php echo $_POST['annee']; ?>"></option>
													<option value="2012">2012</option><option value="2011">2011</option><option value="2010">2010</option><option value="2009">2009</option>
													<option value="2008">2008</option><option value="2007">2007</option><option value="2006">2006</option><option value="2005">2005</option>
													<option value="2004">2004</option><option value="2003">2003</option><option value="2002">2002</option><option value="2001">2001</option>
													<option value="2000">2000</option><option value="1999">1999</option><option value="1998">1998</option><option value="1997">1997</option>
													<option value="1996">1996</option><option value="1995">1995</option><option value="1994">1994</option><option value="1993">1993</option>
													<option value="1992">1992</option><option value="1991">1991</option><option value="1990">1990</option><option value="1989">1989</option>
													<option value="1988">1988</option><option value="1987">1987</option><option value="1986">1986</option><option value="1985">1985</option>
													<option value="1984">1984</option><option value="1983">1983</option><option value="1982">1982</option><option value="1981">1981</option>
													<option value="1980">1980</option><option value="1979">1979</option><option value="1978">1978</option><option value="1977">1977</option>
													<option value="1976">1976</option><option value="1975">1975</option><option value="1974">1974</option><option value="1973">1973</option>
													<option value="1972">1972</option><option value="1971">1971</option><option value="1970">1970</option><option value="1969">1969</option>
													<option value="1968">1968</option><option value="1967">1967</option><option value="1966">1966</option><option value="1965">1965</option>
													<option value="1964">1964</option><option value="1963">1963</option><option value="1962">1962</option><option value="1961">1961</option>
													<option value="1960">1960</option><option value="1959">1959</option><option value="1958">1958</option><option value="1957">1957</option>
													<option value="1956">1956</option><option value="1955">1955</option><option value="1954">1954</option><option value="1953">1953</option>
													<option value="1952">1952</option><option value="1951">1951</option><option value="1950">1950</option><option value="1949">1949</option>
													<option value="1948">1948</option><option value="1947">1947</option><option value="1946">1946</option><option value="1945">1945</option>
													<option value="1944">1944</option><option value="1943">1943</option><option value="1942">1942</option><option value="1941">1941</option>
													<option value="1940">1940</option><option value="1939">1939</option><option value="1938">1938</option><option value="1937">1937</option>
													<option value="1936">1936</option><option value="1935">1935</option><option value="1934">1934</option><option value="1933">1933</option>
													<option value="1932">1932</option><option value="1931">1931</option><option value="1930">1930</option><option value="1929">1929</option>
													<option value="1928">1928</option><option value="1927">1927</option><option value="1926">1926</option><option value="1925">1925</option>
													<option value="1924">1924</option><option value="1923">1923</option><option value="1922">1922</option><option value="1921">1921</option>
													<option value="1920">1920</option><option value="1919">1919</option><option value="1918">1918</option><option value="1917">1917</option>
													<option value="1916">1916</option><option value="1915">1915</option><option value="1914">1914</option><option value="1913">1913</option>
													<option value="1912">1912</option><option value="1911">1911</option><option value="1910">1910</option><option value="1909">1909</option>
													<option value="1908">1908</option><option value="1907">1907</option><option value="1906">1906</option><option value="1905">1905</option>
												</optgroup>
											</select>
										</td>
									</tr>
									<tr>
										<td><label>Vous êtes :</label></td>
									</tr>
									<tr>
										<td>
											<select class="sexe" name="sexe" value="<?php echo $_POST['sexe']; ?>">
												<optgroup label="Sexe : ">
													<option value=""></option>
													<option value="2">Une femme</option>
													<option value="1">Un homme</option>
												</optgroup>
											</select>
										</td>
									</tr>
								</table>
								<?php echo $reponse1; ?>
								<div class="bloc_bouton_form">
									<ul class="bouton_form">
										<li>
											<a href="#" class="tooltip">
												<input type="image" name="Submit" src="<?php echo $url_site; ?>/images/accept_item.png" class="input_submit" alt="" onmouseover="this.src='<?php echo $url_site; ?>/images/accept_item_green.png'" onmouseout="this.src='<?php echo $url_site; ?>/images/accept_item.png'" />
												<span><span class="fleche"></span>S'inscrire</span>
											</a>
										</li>
									</ul>
								</div>
							</form>
						</div>
					</div>
				</div>
			</div>
		</div>
	</div>
	
	<?php include($_SERVER["DOCUMENT_ROOT"].'/include/footer.inc.php'); ?>

</body>
</html>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

13 sept. 2012, 00:38

tu ne sais pas définir une variable.

ce code

$sql("INSERT INTO wa_communaute VALUES ('','$pseudo', '$mdp', '$mail', '$nom', '$prenom', '$sexe', '$jour', '$mois', '$annee')");

est la source du problème

celui que je t'ai fournis plus toto est correct !


@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 386 Messages

13 sept. 2012, 01:26

Donc, j'ai copier collé, ton code de ton post d'avant. et j'ai eu une erreur :

Fatal error: Erreur SQL : INSERT INTO wa_communaute VALUES ('','nicolas', '181290', '[email protected]', 'tual', 'nicolas', '1', '18', 'Décembre', '1990')
Column count doesn't match value count at row 1 in /public_html/members/register.php on line 60

Ca veut bien dire que y'a pas le même nombre de champs dans ma requête par rapport à ma bdd, il manque 'lastquerytime' qui n'a pas de valeur vu que c'est un bigint, et que à l'inscription il ne peut pas avoir de valeur, il n'y que quand on se connecte au site qu'il prend une valeur (time)

ViPHP
xTG
ViPHP | 7331 Messages

13 sept. 2012, 09:06

Tu le mets à zéro au sein de ta requête d'inscription, ou bien tu le mets comme NULL par défaut dans ton schéma de table. ;)

Eléphant du PHP | 386 Messages

13 sept. 2012, 23:20

Comment on le mets à zéro dans la requête d'inscription (voir le code de la page : register.php) ? :?

Merci

ViPHP
xTG
ViPHP | 7331 Messages

14 sept. 2012, 08:43

$sql("INSERT INTO wa_communaute VALUES ('','$pseudo', '$mdp', '$mail', '$nom', '$prenom', '$sexe', '$jour', '$mois', '$annee', 0)");
En supposant que c'est le dernier champs de ta table.

Eléphant du PHP | 386 Messages

14 sept. 2012, 13:09

Ok, donc je mettrais lastquerytime en dernière ligne de ma table :)
Je vais essayer.

Merci beaucoup

Eléphant du PHP | 386 Messages

14 sept. 2012, 19:34

Ca fonctionne, merci beaucoup :)