ecriture sur une table

Eléphant du PHP | 119 Messages

28 juin 2011, 08:56

pareil, toujour rien, c'est fou quand meme, ce code fonctionnais il y a 3/4 ans et la plus rien ...
// CONNEXION A LA BASE DE DONNEE
$db_link= mysql_connect($sql_serveur,$sql_user,$sql_passwd);
if (!$dblink) {
   die('Impossible de se connecter : ' . mysql_error());
}
// Rendre la base de données nexxupload2, la base courante
$db_selected = mysql_select_db('nexxupload2', $dblink);
if (!$db_selected) {
   die ('Impossible de sélectionner la base de données : ' . mysql_error());
}
if (isset($_POST['action'])){
$action = $_POST['action'];
} else  {
$action = "";
}
// TEST SUR LES VALEURS SAISIES
if($pseudo_membre==""){echo "Vous devez choisir un pseudo<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}
if($passe_membre==""){echo "Vous devez choisir un mot de passe<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}
// CHAMPS SUPLEMENTAIRES, inspirez-vous des lignes suivantes. Pour qu'un champs soit facultatif, omettez la ligne.
if($email==""){echo "Vous n'avez pas saisi votre email<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}
if($ville==""){echo "Vous n'avez pas saisi la ville<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}
meme quand je laisse des champs du formulaire vide je n'est pas d'erreur ..

Eléphant du PHP | 119 Messages

28 juin 2011, 09:29

bon alors ca avance, j'ai un message d'erreur mais j'ai reverifié mon fichier config et tout est ok ...
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'nexxupload2'@'91-207-255-140.phpnet.fr' (using password: YES) in /home/www/nx/login.php on line 9
Impossible de se connecter : Access denied for user 'nexxupload2'@'91-207-255-140.phpnet.fr' (using password: YES)

Eléphant du PHP | 209 Messages

28 juin 2011, 10:08

Ben non, justement, tous n'est pas ok vu qu'il te dis qu'il n'arrive pas à ce connecter à la base ...
--
Eric

Eléphant du PHP | 119 Messages

28 juin 2011, 11:48

oui, bon la je n'est plus de message d'erreur par contre toujours pas de connexion a la base, comment je pourrais faire pour voir juste si mon script arrive a comuniquer avec la base ?

alors sur developpez j'ai eu une partie de la solution :

Code : Tout sélectionner

switch($action)
devient

Code : Tout sélectionner

switch($_POST['action'])
maintenant au moment ou je remplis le formulaire et que je valide, il me demande " veuillez mettre un pseudo" .

Eléphant du PHP | 209 Messages

28 juin 2011, 12:49

alors sur developpez j'ai eu une partie de la solution :
Oui... si tu avais mis le code que je t'avais donné au bon endroit ...

Tu n'a pas essayé de faire juste les commande de l'aide, sans tenir compte de formulaire, $_POST, etc ?

Essaye de reproduire ce qu'il y a dans l'exemple ici : http://www.php.net/manual/fr/function.m ... -assoc.php a l'adaptant à ton cas ...
--
Eric

Eléphant du PHP | 119 Messages

28 juin 2011, 13:50

bon j'ai modifier en ajoutant les post et des isset, j'arrive bien a me connecter a la bdd, a ecrire dessus ... sauf que :

il ne me remplis que les champs id et id_membre
je ne peut en mettre qu'un seul car apres il me dit "pseudo deja utilisé"
<html>
<head>
<title> Espace membre</title>
</head>
<body>
<font face="Verdana" size="2">
<center>
<?php

require("conf.php");

switch($_POST['action']) {
/*-----------------------------------------------------------------*/
/*	AJOUT DANS MySQL			*/
/*-----------------------------------------------------------------*/

case "add";


// CONNEXION A LA BASE DE DONNEE
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier conf.php"; exit;}
if (isset($_POST['action'])){
$action = $_POST['action'];
} else  {
$action = "";
}


// TEST SUR LES VALEURS SAISIES
if (isset($_POST['$pseudo_membre==""'])){echo "Vous devez choisir un pseudo<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}
if (isset($_POST['$passe_membre==""'])){echo "Vous devez choisir un mot de passe<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}
// CHAMPS SUPLEMENTAIRES, inspirez-vous des lignes suivantes. Pour qu'un champs soit facultatif, omettez la ligne.
if (isset($_POST['$email==""'])){echo "Vous n'avez pas saisi votre email<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}
if (isset($_POST['$ville==""'])){echo "Vous n'avez pas saisi la ville<br><br><a href=\"javascript:window.history.back()\">Retour</a>";exit;}

// ON VERIFIE SI CE PSEUDO EXISTE DEJA
$requete=mysql_db_query($sql_bdd,"select * from membre where pseudo=\"$pseudo_membre\"",$db_link) or die(mysql_error());
$num=mysql_num_rows($requete);
if($num!=0)
	{
	echo "Ce pseudo existe déjà, veuillez en choisir un autre<br><br><a href=\"javascript:window.history.back()\">Retour</a>";
	}
else
	{
	// CREATION D'UN IDENTIFIANT ALEATOIRE
	$taille = 20;
	$lettres = "abcdefghijklmnopqrstuvwxyz0123456789";
	srand(time());
	for ($i=0;$i<$taille;$i++)
		{
		$id.=substr($lettres,(rand()%(strlen($lettres))),1);
		}
		
	// ON RECHERCHE L'ID MAXIMUM DE LA TABLE
	$requete=mysql_db_query($sql_bdd,"select max(id_membre) from membre",$db_link) or die(mysql_error());
	$idmax=mysql_result($requete,0,"max(id_membre)");
	
	// INSERTION DANS LA TABLE 
	$idnew=$idmax+1;
	$requete=mysql_db_query($sql_bdd,"insert into membre values ($idnew,\"$id\",\"$pseudo_membre\",\"$passe_membre\",\"$email\",\"$ville\");",$db_link) or die(mysql_error());
	// CHAMPS SUPLEMENTAIRES, complétez la requête précédente en ajoutant les variables et en respectant l'ordre des colonnes de la table. Exemple :
	 //insert into membre values ($idnew,\"$id\",\"$pseudo_membre\",\"$passe_membre\",\"$email\",\"$ville\")
	
	// REDIRECTION VERS LA PAGE D'ENTREE DE L'ESPACE MEMBRE
	echo "Merci, vous êtes bien enregistré. Cliquez <a href=\"$zone_membre?id=$id\">ici</a> pour entrer dans votre espace privé.";
	}
	
	
mysql_close($db_link);

break;

/*-----------------------------------------------------------------*/
/*	AFFICHAGE DU FORMULAIRE			*/
/*-----------------------------------------------------------------*/

default;
echo "	<h2>Nouveau membre</h2>
	<form action=\"adduser.php\" method=\"post\">
	<input type=\"hidden\" name=\"action\" value=\"add\">
	Chosissez un pseudo<br><input type=\"text\" name=\"pseudo_membre\"><br>
	Chosissez un mot de passe<br><input type=\"password\" name=\"passe_membre\"><br>
	<! -- CHAMPS SUPLEMENTAIRES, décommentez les 2 lignes suivantes -->
	Votre email<br><input type=\"text\" name=\"email\"><br>
	Ville<br><input type=\"text\" name=\"ville\"><br> 
	<input type=\"submit\" value=\"Envoyer\">
	</form>
	<font face=\"Verdana\" size=\"2\"><a href=\"index.htm\">Se connecter</a></font>";
break;
}
?>
</center>
</font>
</body>
</html>