A propos des bases de donnée mysql

Résolu/Fermé
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 - 29 nov. 2007 à 14:21
 recherche - 22 mars 2008 à 20:27
Bonjour,
voila je debute complement dans le langage php ,html et mysql.J'ai installé et configuré un serveur apache avec mysql et phpmyadmin.
j'ai créer une base de donné utilisateur ou je rentre le login,le mot de passe et il y a un ID automatique.
J'ai compris le principe des requetes sql ,mais j'aimerais pouvoir de ma page web afficher une page ou le visiteur s'enregistre avec son login et son pswd et que ces données soient prises en compte dans ma base de donnée.
Ma page est faite ,mais je ne sais pas ou placer le code d'execution de cette requete?
J'ai plus l'habitude de programmer avec windev ,ou l'on place le code d'execution sur le bouton ou la case à cocher ,maisavec les pages htlm et php je sais pas...
quelqu'un aurait il un tuyau ?
par avance merci.

ps je precise que je travaille avec dreamweaver 8

16 réponses

Bonsoir,

Le principe:

tu crée une page html avec un formulaire

champ login
champ password
un bouton type submit "Enregistrer"

ce formulaire par action="......." method="post" va appeler ton script php d'enregistrement dans la base

tu récupres les valeurs par
$login=$_POST['login']; // attention vas voir comment sécuriser ça car l'utilisateur peut rentrer n'importe quoi
etc......

et par une requette UPDATE tu les rentres dans ta base


Pour savoir comment faire vas voir le site:

https://openclassrooms.com/fr/
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
29 nov. 2007 à 17:51
bonsoir alain, merci du renseignement.
donc si j'ai tt compris c'est le formulaire qui lance le script ?
je vais jeter un oeil à ton lien..
je vais tester
@+ bonne soirée
0
Bonsoir,

oui c'est le formulaire qui appelle le script de traitement au click sur "Enregistrer"


<form name="nom_formulaire" method="post" action="ton_script_enregistrement.php">


</form>
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
30 nov. 2007 à 09:50
hello,merci alain.
il va falloir que je me familiarise avec la syntaxe...ça me change
bonne journée
@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
1 déc. 2007 à 23:07
bonsoir, me revoila avec mes soucis..
bonsoir,

Mon soucis c'est que je debute avec le php et malgré les tutos fort interressant j'ai un probleme..
je voudrais faire un livre d'or (entre autre) ,et malgré qu'on en trouve des tout fait j'aime bien comprendre ce que je fait ,donc je m'evertue à en creer un moi meme (je sais je suis têtu)
Donc comme je suis débutant ,j'ai commencé a me familiariser avec la manière de recuperer les données qu'un visiteur rentre dans un formulaire pour les integrer à ma base de donnée .
voici le formulaire ,il est tout simple,c'est juste pour me familiariser
<htlm>
<form name="formulaire" method="post" action="ajouter.php">
<table width="300" border="3">
<tr>
<td>Nom :</td>
<td><input name="nom" type="text" id="nom" size="30"></td>
</tr>
<tr>
<td>Prénom :</td>
<td><input name="prenom" type="text" id="prenom" size="30"></td>
</tr>
<tr>
<td>Age :</td>
<td><input name="age" type="text" id="age" size="3" maxlength="3">
</td>
</tr>
<tr>
<td>Email :</td>
<td><input name="email" type="text" id="email" size="30" maxlength="30" />
<tr>
<td>Date de naissance:</td>

<td><input name="Date de naisssance" type="text" id="date de naissance" size="10" />
</tr></td>
<td colspan="3"><div align="center">
<input type="submit" name="Submit" value="Envoyer">

</div></td>
</tr>
</table>
</form>
<? ==> est ce la bonne façon de faire pour placer la balise php ???
include("connexion.php"); ==>la j'appelle mon fichier config pour ouvrir ma base de donnée
?>
</htlm>
jusque la ça marche ,j'ai mon formulaire à l'ecran mais c'est apres que ca ce complique..
lorsqu ej 'ai rentré mes données et que je clic sur "envoyer" j'ai mon fichier connexion.php (le script) qui s'affiche et c'est tout

voici le script connexion.php
<?php
//attribution des variables
$host = “localhost”; ==>mon serveur
$login = “mon_login”; ==>mon nom d'utilisatuer pour phpmyadmin
$password = “mon_mot_de_passe”; ==>mon mot de passe
$base = “la_base_de_donnée”;==>le nom de ma BDD

function connexion() ==> esct ce que c'est la bonne fonction que j'appelle????
{
global $host, $login, $password, $base;
$db = mysql_connect($host, $login, $password);
mysql_select_db($base,$db);
}
?>

la ou j'ai pas compris c'est faut il mettre tout ces script sur une meme feuille et si oui je l'enregistre en "mafeuille.php" ou "mafeuille.html"?
ou alors si je me plante totalement...?

je connais la programmation (windev) et je dois dire que cela me change ,mais comme je suis tetu ,je persiste...
je vous remercie de vos conseils
@+
0
Salut,

Non tu n'est pas obligé de tout mettre dans la même feuillr, commence avec deux feuilles.

la première: page_formulaire.html

<htlm>
<form name="formulaire" method="post" action="ajouter.php"> 


etc..
 <input type="submit" name="envoi" value="Envoyer">
</form>
// et tu enlèves le <?  include..... ?>
</html>


la deuxième page: ajouter.php (celle qui sera appelée par la paeg_formulaire au click sur envoyer)

 <?php  // c'est comme ça le tag php
//attribution des variables
$host = “localhost”; //mon serveur
$login = “mon_login”; //mon nom d'utilisateur pour phpmyadmin 
$password = “mon_mot_de_passe”; //mon mot de passe
// pour login et pass mets  plutot un autre utilisateur rajouté dans Privilèges grace à  phpMyadmin avec des droits plus restreints 
//avec un login et pass diff de ceux d'accès par phpMyadmin et droits SELECT, UPDATE, INSERT

$base = “la_base_de_donnée”;//le nom de ma BDD

// tu récupéres les valeurs "postées" par le formulaire:
if(isset($_POST['envoi']){ // si "envoyer" cliqué
$nom=$_POST['nom'];
etc...

$db = mysql_connect($host, $login, $password);
mysql_select_db($base,$db);

et après tu fait ta requette INSERT avec les valeurs $nom.......

etc...

}
?>


0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
2 déc. 2007 à 19:20
bonsoir alain,
le probleme c'est qu'en mettant 2 pages différentes,quand le script sur la page en php s'execute cela m'ouvre une infinité de pages..vides..

j'ai reussi a contourné le pb en inserant le script php dans ma page html entre 2 balises <script> </script> ,mais j'ai rien de rajouter dans ma BDD.

je vais continuer à chercher ou je me trompe ,mais y'a du mieux...

merci de tes conseils alain
bonne soirée
0
Hou là !

Peux tu donner le contenu de ton script php de ton fichier fromulaire.html ?
où as tu posé ces deux fichiers ?
et comment lances tu le fichier html ?


normalement tu doit taper son adresse dans ton navigateur, si ton serveur est sur ton pc (EasyPhp)

http://127.0.0.1/page_formulaire.html
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
2 déc. 2007 à 20:57
merci alain ,les scriopts sont ceux que j'ai posé sur le forum.
comme c'est des essais j'ai fait un dossier test et je le lance en cliquant sur le fichier html....
meme en les testant de dreamweaver c'est pareil.....

car au final je voudrais faire une page sur mon site ou les gens s'enregistre et post des messages ,et le tout integrer dans une BDD ,phpMyAdmin,enfin bref pouvoir develloper mon site pour qu'il soit plus convivial.

mon serveur est sur un autre pc que sur lequel je fait mes script,mais il est en réseau (la c'est mon truc...),tous les pc sont à la maison.Mais meme en lançant le html depuis le pc ou j'ai mon serveur c'est pareil.

bonne soirée à toi
encore merci
@+

ps l'adresse de mon site si tu veut tester et lme donner ton avis...
http://milsodor.no-ip.org
0
Salut,

comme c'est des essais j'ai fait un dossier test et je le lance en cliquant sur le fichier html....
meme en les testant de dreamweaver c'est pareil.....


Pour tester un script php il ne faut absolument pas cliquer sur le fichier, ni dans dreamweawer

Cliquer sur un fichier .html peut seulement te permettre de visualiser ce fichier.

Pour tester correctement le fonctionnement de ton formulaire qui va appeler le script php et le bon fonctionnement de ce dernier, il faut passer par le serveur Apache ==>

Sur ton PC, dans ton navigateur tu tapes :

http://adresse_ip_reseau_du_PC_serveur/test/page_formulaire.html

Moi aussi j'ai chez moi un mini réseau avec un PC serveur en Linux. Mais si il est en Windows c'est pareil,

Si c'est celui qui heberge ton site, tu peux même taper dans la barre d'adresse du navigateur:

http://milsodor.no-ip.org/test/page_formulaire.html

@lain
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
4 déc. 2007 à 15:34
rebonjour,
j'ai toujours mon soucis de base de donnée... ^^^^^^^^
j'ai du mieux,j'ai regroupé mes scripts php sur ma page html ,parce que sinon ça "beugait" ,mais quand je tape l'adresse dans le navigateur (firefox ou IE) mes formulaires s'affiche ,mais les messages d'erreur qui se trouve entre les balises javasscript de ma page s'affiche...
Comme je debute ,je suis sur que j'ai "mer.." dans la syntaxe ou alos dans l'ordre d'insertion des instructions php ,d'ailleur y a t'il un ordre à respecter.
J'ai pourtant potasser grave le sujet mais la je bloque.
D'autre part je configure mon serveur apache pour qu'il accepte le php avec la ligne addtype php etc... et les variable global dans le php ini sont à on ,la il me manque un truc pour continuer.
par avance merci
voici le script
<html>
<head>
<title>[ Ajouter un message (1/2) ]</title>

</head>
<body>
<!--formulaire-->
<table width="600" border="0">
<tr>
<td colspan="2"><center>
<strong>Laissez un message et donner votre avis</center></strong></td>
</tr>


<tr>
<td width="20%"> <p align="right">Auteur : </p></td>

<td width="80%"><input type="text" name="auteur" class="formulaire" /></td>
</tr>
<tr>
<td><p align="right">E-mail :</p></td>
<td><input type="text" name="email" class="formulaire" /></td>
</tr>
<tr>
<td><p align="right">Site Web :</p></td>
<td><input type="text" name="site_web" class="formulaire" /></td>
</tr>
<tr>
<td><p align="right">Titre de la news :</p></td>
<td><input type="text" name="titre" class="formulaire" /></td>
</tr>
<tr>
<td colspan="2"> <p align="center">Message : </p></td>
</tr>
<tr>
<td colspan="2"><center>
<textarea cols="100" rows="7" name="message" class="formulaire">
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
4 déc. 2007 à 15:54
edit....
j'ai résolu le probleme de l'affichage des messages en remplaçant les balises <? et ?> par <script language="php">...
mais j'ai toujours pas de connexion et j'ai toujours mes echos $varaiable qui s'affiche à l'ecran..
je progresse tout seul mais je progresse.. ;-)
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
10 déc. 2007 à 15:33
bonjour ,
voila je progresse j'arrive à me connecter ,j'ai tout repris à zéro.
le probleme est que je n'arrive pas à enregistrer les données de mon formiulaire dans ma BDD...et pourtant je suis connecté

ou est ce que je me suistrompé dans mon code ??
$connexion = mysqli_connect('**adresse ip**','***','***','ma base de donnée');
if (!$connexion) {
die('connexion impossible au serveur' .mysqli_error());
exit;
}

//<!--jusque la ca marche,

//requete d'ajout du message

$req = "INSERT INTO news (id,date,auteur,site_web,titre,news) VALUES ('',now(),'$auteur','$site_web','$titre','$news')";

//execution de la requete
$exec = mysqli_query($connexion,$req);

//enregistrement impossible
if(!$exec) {
die('impossible d\'enregistrer le message');
exit ();
}

j'utilise kl'extension mysqli quelqu'un a t'il une idée?
merci beaucoup
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
10 déc. 2007 à 22:34
bonsoir probleme resolu..
j'ai tout retapé le code et ça fonctionne..
surement un ; ou un _ mal placé...
merci
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
11 déc. 2007 à 22:56
je vous invite à venir me laisser un p'tit mot sur mon livre d'or si vous le souhaiter ,juste histoire de voir si ça fonctionne...
http://milsodor.no-ip.org

Malgré que c'est un livre d'or assez simple ,j'apporterais des améliorations au fur et à mesure ,je tiens mon script à disposition si quelqu'un le veut,je lui envoie
@+
0
je recherche un calculatrice Graph 65 + couleur gratuite !
0