envoi/reception vers une bdd sqlite

Invité
Invité n'ayant pas de compte PHPfrance

15 juin 2005, 18:36

Bonjour tout le monde!!
Il fut un temps ou je codait php4/mysql... lol...
apres 1 an d'arret il ne me reste plus grand chose mais juste une base principal l'envoi et la reception d'info sur une base de donnée mysql !!

Oui mais voila je veu apprendre a faire de meme avec une base SQLITE (je suis obligé car... enfin bon voila ne me dites pas d'abandonner...)
Donc j'ai telechargé php@home comprenant sqlite,php5 etc... j'ai créé une base sqlite nommée hotmail et une table également nommée hotmail!!
dans cette table : 3 champs --> id, login, passwd
j'ai fait "exporter" (dans sqlitemanager) ma bdd en un document hotmail.sql!!
J'ai donc ma bdd sqlite nommée hotmail.sql !!

Alors je vous montre mon ancien code qui fonctionnait avec mysql, je vous explique le principe vite fait : quelqu'un rempli le formulaire d'inscription a mon site c'est a dire login puis passwd il clique sur envoyer!! sa envoi les infos sur une page php(confirm.php) qui recupere les infos (ac la methode $post...) puis dans cette page il y a un code sql qui envoi les infos (login et passwd) sur ma bdd!
une troisieme page nommée reception.php fait une requette sur la bdd et affiche le passwd et le login sur sa page.

voila le code de confirm.php qui recupere les infos du formulaire et les envois sur ma bdd!

Code : Tout sélectionner

<? echo 'Merci, votre compte sera validé dans quelques minutes.'; ?> <? mysql_connect("sql.free.fr", "mon_login", "mon_passwd"); mysql_select_db("ma_bdd"); ?> <? $_POST['login']; ?> [B]reception des infos [/B] <? $_POST['passwd']; ?> [B]reception des infos [/B] <? $login = htmlentities ($_POST['login']); $passwd = htmlentities ($_POST['passwd']); mysql_query("INSERT INTO hotmail VALUES('','$login','$passwd')")or die('Erreur SQL ! <br>'.mysql_error()); mysql_close(); ?>

puis voila le code qui receptionne les infos et les affiches :

Code : Tout sélectionner

<HTML> <!-- DATE DE CREATION: 24/04/2004 --> <HEAD> <TITLE></TITLE> <META NAME="Description" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Author" CONTENT="CKL!1998"> <META NAME="Generator" CONTENT="WebExpert"> </HEAD> <BODY> <? mysql_connect("sql.free.fr", "mon_login", "mon_passwd"); // Connexion à MySQL mysql_select_db("ma_bdd"); $reponse = mysql_query("SELECT * FROM hotmail"); // Requête SQL while ($donnees = mysql_fetch_array($reponse) ) { ?> <b>adresse</b> : <? echo $donnees['login']; ?><br> <b>mote de passe : </b><? echo $donnees['passwd']; ?><br> <? } mysql_close(); // Déconnexion de MySQL ?> </BODY> </HTML>
DONC si quelqun pourrait me modifier les codes pour que sa marche avec ma bdd sqlite (nommée hotmail.sql comprenant une table "hotmail" elle meme comprenant trois champs "id" "login" "passwd")

merci!!

Mammouth du PHP | 19672 Messages

15 juin 2005, 19:18

As-tu à tout hasard songé à jeter on coup d'oeil, fût-il distrait, vers le manuel :?:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

15 juin 2005, 20:06

oui mais lol quoi!!!
cest bien beau mais je ne voit pas d'exemple concret de CONNECTION a la bdd et d'envoi d'infos etc...

Ou est ce qu'ils disent comment se connecter a la bdd??
c'est tout des genres de requetes mais je ne sais meme pas comment on se connecte a la bdd donc je ne vais pas aller loin...

Mammouth du PHP | 19672 Messages

15 juin 2005, 20:29

En faisant un peu le tour des fonctions, tu aurais pu trouver ceci par exemple, avec un exemple
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

15 juin 2005, 20:50

<?php
if ($db = sqlite_open('mysqlitedb', 0666, $sqliteerror)) 
{ 
  sqlite_query($db,'CREATE TABLE foo (bar varchar(10))');
  sqlite_query($db,"INSERT INTO foo VALUES ('fnord')");
  $result = sqlite_query($db,'select bar from foo');
  var_dump(sqlite_fetch_array($result)); 
} else {
  die ($sqliteerror);
}
?>
donc je doi remplacer "mysqlitedb" par hotmail.sql... c sa?
donc ste premiere phrase sert a ouvrir la bdd.

la deuxieme phrase sert a créer la table "foo" ac les configs etc..
mais je n'en ai pas besoin car j'ai déja créé la table hotmail

La 3eme phrase sert donc aparament a envoyer ici "fnord" dans la table foo c'est sa??
 $result = sqlite_query($db,'select bar from foo');
  var_dump(sqlite_fetch_array($result));

par contre sa sert a quoi sa???


donc en arengeant pour moi sa donnerai sa?
<?php
if ($db = sqlite_open('hotmail.sql', 0666, $sqliteerror)) 
{ 
  sqlite_query($db,"INSERT INTO hotmail VALUES ('$login', $passwd' )");
  $result = sqlite_query($db,'select bar from hotmail');
  var_dump(sqlite_fetch_array($result)); 
} else {
  die ($sqliteerror);
}
?>


eske c'est a peu pres sa??

Invité
Invité n'ayant pas de compte PHPfrance

15 juin 2005, 20:56

ps j'ai lu le truc sur les array en kestion mé g pas pigé... :? :)

Mammouth du PHP | 19672 Messages

15 juin 2005, 21:06

donc je doi remplacer "mysqlitedb" par hotmail.sql... c sa?
l'extension .sql n'est peut-être pas le meilleur choix: utilise plutôt .db ou carrément rien du tout, appelle la "hotmail" ça fera l'affaire

Les array, ce sont des tableaux. Connais-tu les variables tableaux ou pas tu dout ? Si tu ne les connais pas, on est mal barrés, ce sont des bases en programmation... :-k

Mais bon, pour ton script: l'as-tu testé ?

N'oublie pas un truc: sqlite_open crée la base si elle n'existe pas et une base SQLite est un fichier unique quel que soit le nombre de tables.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

15 juin 2005, 21:33

oui je connait un peu les tableaux, enfin... il faut que je revise lol!!

par contre quand je cré ma bdd avec sqlitemanager je l'exporte mais il ne me fait qu'un fichier sql... ya moyen de changer l'extension???

Invité
Invité n'ayant pas de compte PHPfrance

15 juin 2005, 21:35

sinon non je ne l'ai pas testé car je ne suis pas sur la bonne machine!! mais est ce qu'il t'as l'air assez correct? et... beh comment modifier l'extension de ma bdd?? qui quand je l'exporte de sqlmanager ne s'exporte qu'en .sql

Invité
Invité n'ayant pas de compte PHPfrance

15 juin 2005, 21:37

encor moi lol!! et je ne comprend pas ta derniere phrase...

Mammouth du PHP | 19672 Messages

15 juin 2005, 21:50

Je n'ai jamais utilisé SQLite, il est possible que le format par défaut soit un .sql, si ça fonctionne, alors laisse le tel quel.

La dernière phrase, t'inquiètes pas trop avec ça, tu t'es répondu toi-même. La base est sur un seul fichier contrairement à certains autres SGBD qui créens un fichier par table plus d'autres fichiers annexes. Le système SQLite a ceci de pratique que ça simplifie la copie du fichier pour faire une sauvegarde par exemple. Enfin je dis ça, faudra que la teste.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

15 juin 2005, 22:32

ok beh merci pour ton aide...
je vais tester le script... en esperant que sa marche lol...
(c'est sa qui me desespere dans le php ! contrairement au css/xhtml ou c'est statique et terre a terre le php c'est bourré de fonctions de possibilités et sa bug tout le temps lol... :( )

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

15 juin 2005, 22:52

sinon non je ne l'ai pas testé car je ne suis pas sur la bonne machine!! mais est ce qu'il t'as l'air assez correct? et... beh comment modifier l'extension de ma bdd?? qui quand je l'exporte de sqlmanager ne s'exporte qu'en .sql
Il exporte une liste de requêtes SQL, c'est ça le fichier .sql.

Le fichier géré par sqlite n'est pas du tout une liste de requête, il s'agit d'un fichier contenant tes données, dans un format particulier (c'est du binaire, compressé et tout, rien à voir avec un fichier .sql).

Une base de données avec sqlite c'est juste un fichier, ouvrir la connexion au serveur ET sélectionner la base de données (mysql_connect et mysql_select_db) ont donc le même résultat que sqlite_open.

Toutes les autres opérations sont EXACTEMENT les mêmes, en remplaçant "mysql" par "sqlite", en gros...
Tu passes des requêtes SQL qu'sqlite execute sur le fichier, vraiment rien de boulversant niveau concept.

Je ne veux pas être méchant ou te rabaisser hein, mais je pense que tu devrais avancer un peu plus dans ta connaissance du PHP avant d'aller plus loin, car là tu risques d'avancer sans ranger derrière toi, et le jour ou tu vas te retourner une pile de bordel va te retomber sur le coin de la gueule :)

Invité
Invité n'ayant pas de compte PHPfrance

16 juin 2005, 08:29

ouai c'est pas fo mdr!! :D

Invité
Invité n'ayant pas de compte PHPfrance

16 juin 2005, 21:10

voila peut etre une explication a tout mes problemes

expldr!!!!! :D :D :D :D :D :D

http://www.edmf.org/info.php[/url]