Vous n'êtes pas identifié(e).
Bonjour à tous,
Voilà pour certain je vais passer pour un débutant..mais j'en suis un donc
J'aimerai reprendre une valeur d'un formaile x pour l'insérer dans ma base de donnée que si la case est cochée sinon ne rien faire.
Exemple de Formulaire "add.html"
Traitement "add.php"
$mail = $_POST['mail'];
mysql_connect('localhost', 'root', 'MDP') or die("Impossible de se connecter au serveur");
mysql_select_db(ma_bdd) or die("Base de données inexistante");
$sql = "INSERT INTO ntux2_users (mail) VALUES('$mail');";
mysql_query($sql) or die ("Erreur d'écriture dans la table");
print ("Ajouté avec succès !");
mysql_close();
?>
Je ne sais pas comment m'y prendre alors si une personne aurait l'amabilité de m'aiguiller...
J'en serais ravis.
Merci d'avance.
Hors ligne
Saluton,
Ton problème provient déjà de ce que tu nommes "mail" la checkbox et le champ de saisie de l'email.
De toute façon, il convient désormais d'utiliser l'attribut id et nom plus name pour identifier les éléments de formulaire.
Et une id devant être unique dans un DOM....
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Merci de t'intéresser à mon pb.
Mais as-tu un début de formilaire à me propser stp.
Franchement je cale grave là
Hors ligne
Hello,
Alors petite explication :
Dans ton fichier add.php tu utilises la variable $_POST['mail'].
Il faut que tu sache que cette variable est renseignée par PHP lors de la soumission en se servant de l'attribut "name" de ton formulaire HTML
Par exemple si je fais un champs "toto" :
Je pourrais récupérer $_POST['toto'] dans mon script PHP appelé lors de la soumission du formulaire.
Or toi dans ton formulaire, tu as 2 champs ayant le même nom :
Du coup ce que tu récupère dans ton add.php, n'est pas forcément ce que tu veux...
Donc pour commencer, mon petit conseil, c'est de préfixer tes noms de champs par leur type
Exemple :
devient
<input type="checkbox" name="cbMail" />
Pour finir pour répondre plus concrètement à ta question. Il y a une astuce pour les checkbox, elles ne sont pas envoyées par le formulaire si elles n'ont pas été cochées. Il faut donc que tu rajoute une vérification pour voir si la variable a été settée :
La programmation est composée de 80% de réflexion pour 20% de syntaxe -> réfléchissez à votre problème par étapes
Recommande l'utilisation du pattern Singleton
Si jamais je poste un morceau de code pour vous aider, prenez bien compte que je n'ai pas forcément testé le code que je poste et qu'il est possible qu'il contienne des erreurs
Hors ligne
Merci Maskime.
Je lie ton post et j'essaie:)
Hors ligne
Bon alors....Snif !
En imaginant que toto est la valeur que je veux insérer dans ma bdd...
Add.php
mysql_close();
?>
Cela s'incrémente dans ma BDD mais il n'y a pas l'adresse email de l'invité
Pouvez-vous me dire la c ause de l'erreur ? je pense que c'est au niveau de toto...mais bon
Merci d'avance.
Hors ligne
Et d'où est censée provenir la variable $mail dans ton script ?
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Oh la la.
En faite il faut que je mette la variable $toto...
Hors ligne
Oh la la.
En faite il faut que je mette la variable $toto...
Même question afférente à la variable $toto ?
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Elle provient de :
<form method="post" action="add.php">
<input type="text" name="toto" value="" />
<input type="checkbox" name="cbMail" />
<input type="submit" value="Ajouter">
</form>
Je veux la récupérer et l'insérer dans ma base de donnée...:rolleyes:
Hors ligne
Certes, mais comment la fais-tu passer de
vers
En fait, je veux en venir là : http://www.phpdebutant.org/article113.php
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Fonctionnel
add.html :
?>
Cela pourra servir....
Hors ligne
Bon maintenant que cela fonctionne...
J'aimerai l'incoporer sur un formulaire d'inscription de mon site (l'adapter ...)
Mais là aie aie aie
index.php
</td>
<!-- top border -->
<td width="716" height="32" style="width: 716px; height: 32px; background: url(http://www.playadivx.fr/themes/members/images/border-top.png) repeat-x;">
</td>
<!-- top right corner -->
<td width="32" height="32" style="width: 32px; height: 32px; background: url(http://www.playadivx.fr/themes/members/images/top-right.png) no-repeat;">
</td>
</tr>
<tr>
<!-- border left -->
<td style="width: 32px; background: url(http://www.playadivx.fr/themes/members/images/border-left.png) repeat-y;">
</td>
<!-- content -->
<td style="background: #FFF; padding: 10px;">
<h1><a href="index.php">PLAYADIVX.FR</a></h1><div id="contenu">
<h2>Connexion</h2><br />
<form action="." method="post">
<input type="hidden" name="do" value="login" />
<table width="400" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>Identifiant :</td>
<td><input name="login" type="text" /></td>
</tr>
<tr>
<td>Mot de passe :</td>
<td><input name="pass" type="password" /> </td>
<td><a href="index.php?cat=lostpwd">Mot de passe perdu ?</a></td>
</tr>
<tr>
<td colspan="3"><div align="center" style="margin-top: 50px"><input type="submit" name="Submit" value="S'identifier" /></div></td>
</tr>
</table>
</form>
<h2>Pas encore membre ?</h2><br />
<form action="." method="post">
<input type="hidden" name="do" value="subscribe" />
<table width="400" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td>Identifiant :</td>
<td><input name="login" type="text" /></td>
</tr>
<tr>
<td>Mot de passe :</td>
<td><input name="pass" type="password" /> </td>
</tr>
<tr>
<td>Retapez le mot de passe :</td>
<td><input name="passbis" type="password" /> </td>
</tr>
<tr>
<td>Email :</td>
<td><input name="email" type="text" /> </td>
</tr>
<tr>
<td>Confirmer Email </td>
<td><input name="toto" type="text" /> </td>
</tr>
<tr>
<td>S'abonner aux news</td>
<td><input name="cbMail" type="checkbox" checked="checked" />
</td>
</tr>
<tr>
<td> </td>
<td>
<img src="http://www.playadivx.fr/antibot.php" border="0" alt="" /></td>
</tr>
<tr>
<td>
Code de sécurité :</td>
<td>
<input name="antibotcode" type="text" /></td>
</tr>
<tr>
<td colspan="3"><div align="center" style="margin-top: 50px"><input type="submit" name="Submit" value="S'inscrire" /></div></td>
</tr>
</table>
</form>
</div>
<br /><br /><hr />
<div style="float:right;">
<a href="../"><em>Retour à l'accueil >></em></a>
</div>
</td>
<!-- border right -->
<td width="32" height="100%" style="width: 32px; background: url(http://www.playadivx.fr/themes/members/images/border-right.png) repeat-y;">
</td>
</tr>
<tr>
<!-- bottom left corner -->
<td width="32" height="32" style="width: 32px; height: 32px; background: url(http://www.playadivx.fr/themes/members/images/bottom-left.png) repeat-y;">
</td>
<!-- bottom border -->
<td width="716" height="32" style="width: 716px; height: 32px; background: url(http://www.playadivx.fr/themes/members/images/border-bottom.png) repeat-x;">
</td>
<!-- bottom right corner -->
<td width="32" height="32" style="width: 32px; height: 32px; background: url(http://www.playadivx.fr/themes/members/images/bottom-right.png) repeat-y;">
</td>
</tr>
</table>
<div id="copyright">Propulsé par <a href="http://www.freeglobes.net" title="Freeglobes">Freeglobes</a> - <img src="http://www.playadivx.fr/themes/members/images/time.gif" width="18" height="17" alt="requêtes" border="0" style="vertical-align: middle;" /> 0 requête (cache) - 0.019 sec</div>
</body>
</html>
Feuille de traitement là je ne sais mm pas laquelle est-ce...
car l'action
C'est pour cela que je vous ai mis le code complet de ma page.
Je suis pommé si qqun a une idée, je suis preneur mais à 100%
Merci d'avance.
Hors ligne
Salut,
Il semble que tu utilise un gestionnaire de contenu, je me trompe ?
Si c'est le cas, il te faut rechercher dans l'application ou sont les scripts de connections.
Mais là, ce n'est pas forcément à la portée d'un débutant...
Bon courage,
Alain.
Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop
Hors ligne
Oui je vois bien que c'est compliqué
Mais merci de ton aide...snif
Sinon, il faut que je retravaille tout le script pour pour faire ce que je souhaite.
Ou alors y a t-il un autre moyen pour insérer l'adresse email dans une autre table...?
Dur dur la culture lol
Pour info voici le vrai code php...
include (dirname(__FILE__).'/init.php');
include (dirname(__FILE__).'/include/main.php');
$do = isset($_POST['do']) ? $_POST['do'] : '';
$login = isset($_COOKIE['login']) ? $_COOKIE['login'] : ((isset($_POST['login']) && $do == 'login') ? $_POST['login'] : '');
$pass = isset($_COOKIE['pass']) ? $_COOKIE['pass'] : ((isset($_POST['pass']) && $do == 'login') ? md5($_POST['pass']) : '');
$auth =& AuthFactory::getAuthConnection();
$authentified = $auth->authentificate($login,$pass,0);
$smarty->assign('authentified',$authentified);
if ($authentified)
{
$smarty->assign("onload",'onload="Fat.fade_all(); dragndrop();"');
$cat = isset($_GET['cat']) ? $_GET['cat'] : "";
switch($cat)
{
case 'logout':
setcookie("login","",time(),'/');
setcookie("pass","",time(),'/');
$template = 'user_connexion.html';
// Do not display warnings on logout
$smarty->clear_assign('warning');
break;
case 'myinfo':
$template = 'user_myinfo.html';
$include = 'myinfo.php';
break;
case 'link':
$template = 'user_link.html';
$include = 'link.php';
break;
case 'mylinks':
$template = 'user_mylinks.html';
$include = 'mylinks.php';
break;
case 'mypoints':
$template = 'user_mypoints.html';
$include = 'mypoints.php';
break;
case 'myins':
$template = 'user_myins.html';
$include = 'myins.php';
break;
case 'buypoints':
$template = 'user_buypoints.html';
$include = 'buypoints.php';
break;
case 'allopass':
$template = 'user_allopass.html';
break;
// User panel
default:
$template = 'user_panel.html';
break;
}
if(isset($include))
{
include (SCRIPT_ROOT_PATH.'/members/include/'.$include);
}
}
else
{
// user authentification failed
if(!empty($login) && !empty($pass))
{
$smarty->append('warning',$lang['authent_ko']);
}
// User subscription ?
if(!empty($do) && $do == 'subscribe')
{
subscribe();
}
include(dirname(__FILE__).'/include/login.php');
}
// disconnection from database
include(SCRIPT_ROOT_PATH.'/disconnect.php');
// Launching page display
$smarty->display($template);
?>
Enfin le vrai celui du script, l'autre ce n'etait juste une extraction pour que je comprenne un peu mieux...
Merci si qu'un à une idée...
Rappel : Insérer l'adresse email dans ma table " ntux2_users " dans la le champ " mail " .... arfffff
J'espère être clair car bon je débute...
@ de suite
Hors ligne
Ok,
le formulaire envoie le champ hiden "do" avec la valeur "subscribe".
Il est récupéré dans $_POST['do'].
A ce moment là le script appelle la fonction subscribe() (lignes85-88) .
Il te faut la localiser...
Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop
Hors ligne
Oui mais localiser quelle genre de valeur ?
Désolé de ma médiocrité !
Hors ligne
Ce que te dis mcAllan n'est pas de chercher une valeur mais la FONCTION subscribe() évoquée dans ton script à la ligne 85-88...
MERCI de lire le mode d'emploi avant de poster !!
Hors ligne
Ok,
Qui doit être dans une des pages du script ?
Hors ligne
Il te faut localiser la fonction subscribe() dans un des scripts...
... bon pas assez rapide ...
Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop
Hors ligne
Oui oui j'ai bien compris merci.
Je cherche, je cherche aie aie lol j'vais trouver !!!!
Je ne lâcherai rien ! et pis c'est tout
Hors ligne
si le standard de conception est "respecté", tu devrais avoir un fichier "fonctions.php"... ce serait une première piste de recherche
MERCI de lire le mode d'emploi avant de poster !!
Hors ligne
include dirname(__FILE__)."/functions/link.php";
$url = "index.php?cat=link";
$smarty->assign("url",$url);
$id = isset($_GET['id']) ? $_GET['id'] : 0;
if(isset($_POST['Metas']))
{
$do = 'Metas';
}
else if(isset($_POST[$lang['submit']]))
{
$do = $lang['submit'];
}
else if(isset($_POST[$lang['edit']]))
{
$do = 'default';
}
else
{
$do = isset($_GET['do']) ? $_GET['do'] : 'default';
}
switch($do)
{
// retrieving metatags
case 'Metas':
getLinkForm($url,0);
break;
// website submission
case $lang['submit']:
addSite($url);
// Default case : dsplaying search form and site add form
default:
case 'default':
getLinkForm($url,0);
break;
}
?>
C'est pour l'ajout d'un site ?
Hors ligne
entre nous, regarde un peu le code : je ne vois nulle part un quelconque "subscribe()".. allé, encore un effort
MERCI de lire le mode d'emploi avant de poster !!
Hors ligne
Hum ça sent bon là non ?
function subscribe()
{
global $lang;
$smarty =& TemplateEngine::getInstance();
session_start();
$login = isset($_POST['login']) ? $_POST['login'] : '';
$pass = isset($_POST['pass']) ? $_POST['pass'] : '';
$passbis = isset($_POST['passbis']) ? $_POST['passbis'] : '';
$email = isset($_POST['email']) ? $_POST['email'] : '';
$antibotcode = isset($_POST['antibotcode']) ? $_POST['antibotcode'] : '';
if(!empty($login))
{
$um =& get_manager('user');
$criteria = new Criteria('login',$login,'=');
$criteria->setLimit(1);
$login_already_used = $um->getCount($criteria);
if($login_already_used == 0)
{
if(!empty($email))
{
$criteria = new Criteria('email',$email,'=');
$criteria->setLimit(1);
$mail_already_used = $um->getCount($criteria);
if($mail_already_used == 0)
{
if(test_mail($email))
{
if(!empty($pass) && !empty($passbis))
{
if($pass == $passbis)
{
if( (isset($_SESSION['antibotcode']) && $antibotcode == $_SESSION['antibotcode']) || !$CONFIG['use_antibot'])
{
$user =& $um->create(true);
$user->setPassword($pass);
$attributes = array(
'id' => '',
'login' => $login,
'email' => $email,
'active' => 1,
'isadmin' => 0 );
$user->setVars($attributes);
$user->setNew();
$um->insert($user);
$smarty->append('warning',$lang['subscribe_ok']);
}
else
{
// Wrong captcha
$smarty->append('warning',$lang['captcha_ko']);
}
}
else
{
// Password mismatch
$smarty->append('warning',$lang['wrong_pass']);
}
}
else
{
// Empty password
$smarty->append('warning',$lang['empty_pass']);
}
}
else
{
// Wrong email format
$smarty->append('warning',$lang['wrong_email_format']);
}
}
else
{
// Email already used
$smarty->append('warning',$lang['email_already_used']);
}
}
else
{
$smarty->append('warning',$lang['empty_email']);
}
}
else
{
// Login already used
$smarty->append('warning',$lang['login_already_used']);
}
}
else
{
// Empty login
$smarty->append('warning',$lang['empty_login']);
}
}
Hors ligne