Code php pour formulaire + envoie à bdd sqlite |
Répondre | Page <12 |
Auteur |
Sujet Recherche Options des sujets
|
Dmit OE
Admin Group Depuis le: 31 Mai 2012 Status: Inactif Points: 13971 |
Options des messages
Thanks(0)
|
Il faut deja enlever tous les
de tous vos scripts. Ils cassent la structure de la page. Il n'y a qu'un seul corps (body) par page normalement. Par contre je ne sais pas pourquoi il n'y a pas de donnees $_POST. Essayez de changer le code: echo "POST+GET:";var_dump($_POST); var_dump($_GET); echo "."; republiez la page et notifiez ici. |
|
theseeker
Senior Member Depuis le: 23 Juin 2014 Status: Inactif Points: 214 |
Options des messages
Thanks(0)
|
Merci de votre retour.
J'ai enlevé tous les : <body> <html> </body> </html> et j'ai donc modifier mon code comme suit : <?php echo "POST+GET:";var_dump($_POST); var_dump($_GET); echo "."; // On commence par récupérer les champs if(isset($_POST['ticket'])) $ticket=$_POST['ticket']; else $ticket=""; // On vérifie si les champs sont vides if(empty($ticket)) { echo '<font color="red">Attention, le champs <b>ticket</b>est vide !</font>'; } // Aucun champ n'est vide, on peut enregistrer dans la table else { // connexion à la base $db = sqlite_connect('localhost', 'login', 'password') or die('Erreur de connexion '.sqlite_error()); // sélection de la base sqlite_select_db('oedb.db',$db) or die('Erreur de selection '.sqlite_error()); // on écrit la requête sql $sqlite = "INSERT INTO oe_loto(id, ticket) VALUES('','$ticket')"; // on insère les informations du formulaire dans la table sqlite_query($sqlite) or die('Erreur SQLite !'.$sqlite.'<br>'.sqlite_error()); // on affiche le résultat pour le visiteur echo 'Vos infos on été ajoutées.'; sqlite_close(); // on ferme la connexion } ?> <br> Lien de ma page : http://xxxxxxxx.free.fr/Connecte.php Edité par theseeker - 30 Juin 2014 à 09:48 |
|
Dmit OE
Admin Group Depuis le: 31 Mai 2012 Status: Inactif Points: 13971 |
Options des messages
Thanks(0)
|
Je pense que votre Bloc de code a le Position Headers et non Debut de Body. Le output de debug affecte la page. Mais malgre ca on voit maintenant que ca marche - les donnees Post sont bien la:
array(2) {
["WE9a19bc3925"]=>
string(6) "159359"
["oeSecurToken"]=>
string(16) "588af832bc4a858e"
} Vous pouvez voir que le "nom" (name) de votre champ est WE9a19bc3925 ce qui correspond a l'ID de son element (par defaut). Modifiez la propriete Attribut name de cet element pour mettre "ticket" a la place.Enlevez le code de debugage et testez. Je conseille de deplacer votre code php dans un Bloc de Code VISUEL, pour voir les erreurs eventuels. Aussi, s'il vous plait concentrez-vous car votre tache est difficile et vous ne vous sortirez jamais sans vous concentrer. |
|
theseeker
Senior Member Depuis le: 23 Juin 2014 Status: Inactif Points: 214 |
Options des messages
Thanks(0)
|
Encore une fois merci de votre aide.
Exact pour la position du bloc de code. Désolé, j'effectué tout sur une copie de cette page, j'ai oublié ce point lors de la mise en ligne de la page d'origine. J'essaierai de mieux vérifier à l'avenir. Je ne savais pas que la propriété attribut name correspond au nom du champ. J'ai enlevé votre code de débug : echo "POST+GET:";var_dump($_POST); var_dump($_GET); echo "."; et j'ai déplacé le reste de mon code dans un bloc de code visuel. Maintenant, il affiche que le l'objet (champs de saisi de texte) est vide alors qu'il est remplie automatiquement par le code javascript suivant : $(function() { // sur le chargement de structure de la page var monCode = <?php echo rand(1, 1000000); ?>; // value au hasard entre 1 et 1000000 $('#WE9a19bc3925 input').val(monCode); }); Aussi, je pense que mon code pour me connecter à ma base sqlite n'est pas bon... Lien de ma page : http://xxxxxxxx.free.fr/Connecte.php Edité par theseeker - 30 Juin 2014 à 09:48 |
|
Dmit OE
Admin Group Depuis le: 31 Mai 2012 Status: Inactif Points: 13971 |
Options des messages
Thanks(0)
|
C'est normal qu'il n'y a pas de valeur avant de cliquer sur le bouton. Apres, il y a l'erreur
Fatal error: Call to undefined function sqlite_connect() in /mnt/159/sda/4/0/dimitri.colin/Connecte.php on line 282 Il faut reviser ce code, mais je n'ai plus de temps jusqu'a la fin de la semaine prochaine. Essayez de trouver d'autres exemples sur le Web. Aussi, attention pour activer PHP5 sur Free (regardez des posts sur ce forum ou sur Google). Essayez de modifier votre code comme ca: .... // connexion à la base $db = new SQLite3('mydb.db'); oe_loto(id PRIMARY KEY AUTOINCREMENT, ticket)'; $query = "INSERT INTO oe_loto(ticket) VALUES('$ticket')";$results = $db->query($query);
|
|
theseeker
Senior Member Depuis le: 23 Juin 2014 Status: Inactif Points: 214 |
Options des messages
Thanks(0)
|
Merci beaucoup Dmit OE
Je vais maintenant chercher la suite par moi-même. Une fois terminé je ferai un petit tuto pour les newbies comme moi. Encore merci du temps que vous consacrez à me répondre. |
|
tontondim
Newbie Depuis le: 03 Feb 2021 Status: Inactif Points: 25 |
Options des messages
Thanks(0)
|
Bonjour, Comment indiquer le chemin ou l'on veux que la bd soit créee svp? Car le code ci-dessus, qui crée une bd le fait dans oe-user alors que php admin n'ouvre que dans : Data\Local_previs_DB
Merci beaucoup. |
|
Hobby001
Admin Group Modérateur Depuis le: 14 Feb 2015 Pays: Canada, Québec Status: Inactif Points: 6513 |
Options des messages
Thanks(0)
|
Peut-être trouverez-vous des réponses dans les différents tutos proposés ici: https://www.scriptol.fr/sql/tutoriel-sqlite-debuter.php
|
|
Hobby001
Admin Group Modérateur Depuis le: 14 Feb 2015 Pays: Canada, Québec Status: Inactif Points: 6513 |
Options des messages
Thanks(0)
|
https://www.concordia.ca/finearts/cda/support/faq/how-to-create-a-sqlite-database.html
Edité par Hobby001 - 04 Feb 2021 à 13:51 |
|
tontondim
Newbie Depuis le: 03 Feb 2021 Status: Inactif Points: 25 |
Options des messages
Thanks(0)
|
Merci !
|
|
Répondre | Page <12 |
Tweet
|
Aller au Forum | Permissions du forum Vous ne pouvez pas écrire un nouveau Sujet Vous ne pouvez pas répondre aux Sujets Vous ne pouvez pas effacer vos messages Vous ne pouvez pas éditer vos messages Vous ne pouvez pas créer des sondages Vous ne pouvez pas voter dans les sondages |