BullGuard Antivirus Sale - 60% Off with openElement !
Accueil Forum Accueil Forum >

openElement

> Discussion générale openElement
  Nouveaux messages Nouveaux messages Fil RSS  - Code php pour formulaire + envoie  à bdd sqlite
  FAQ FAQ  Rechercher dans le Forum   Inscription Inscription  Connexion Connexion

Code php pour formulaire + envoie à bdd sqlite

 Répondre Répondre Page  <12
Auteur
Message
Dmit OE allez vers le bas
Admin Group
Admin Group


Depuis le: 31 Mai 2012
Status: Inactif
Points: 13971
Options des messages Options des messages   Thanks (0) Thanks(0)   Citer Dmit OE Citer  RépondreRéponse Lien Direct à ce Post Envoyé : 27 Juin 2014 à 19:41
Il faut deja enlever tous les

<body> <html>
</body>
</html>
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.
Haut de la page
theseeker allez vers le bas
Senior Member
Senior Member


Depuis le: 23 Juin 2014
Status: Inactif
Points: 214
Options des messages Options des messages   Thanks (0) Thanks(0)   Citer theseeker Citer  RépondreRéponse Lien Direct à ce Post Envoyé : 27 Juin 2014 à 20:19
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
Haut de la page
Dmit OE allez vers le bas
Admin Group
Admin Group


Depuis le: 31 Mai 2012
Status: Inactif
Points: 13971
Options des messages Options des messages   Thanks (0) Thanks(0)   Citer Dmit OE Citer  RépondreRéponse Lien Direct à ce Post Envoyé : 27 Juin 2014 à 20:53
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.

Haut de la page
theseeker allez vers le bas
Senior Member
Senior Member


Depuis le: 23 Juin 2014
Status: Inactif
Points: 214
Options des messages Options des messages   Thanks (0) Thanks(0)   Citer theseeker Citer  RépondreRéponse Lien Direct à ce Post Envoyé : 27 Juin 2014 à 21:22
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
Haut de la page
Dmit OE allez vers le bas
Admin Group
Admin Group


Depuis le: 31 Mai 2012
Status: Inactif
Points: 13971
Options des messages Options des messages   Thanks (0) Thanks(0)   Citer Dmit OE Citer  RépondreRéponse Lien Direct à ce Post Envoyé : 27 Juin 2014 à 21:46
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');

$query = 'CREATE TABLE IF NOT EXISTS
oe_loto(id PRIMARY KEY AUTOINCREMENT, ticket)';
$results $db->query($query);
$query = "INSERT INTO oe_loto(ticket) VALUES('$ticket')";
$results $db->query($query);


Haut de la page
theseeker allez vers le bas
Senior Member
Senior Member


Depuis le: 23 Juin 2014
Status: Inactif
Points: 214
Options des messages Options des messages   Thanks (0) Thanks(0)   Citer theseeker Citer  RépondreRéponse Lien Direct à ce Post Envoyé : 27 Juin 2014 à 21:52
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.

Haut de la page
tontondim allez vers le bas
Newbie
Newbie


Depuis le: 03 Feb 2021
Status: Inactif
Points: 25
Options des messages Options des messages   Thanks (0) Thanks(0)   Citer tontondim Citer  RépondreRéponse Lien Direct à ce Post Envoyé : 04 Feb 2021 à 11:40
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.
Haut de la page
Hobby001 allez vers le bas
Admin Group
Admin Group
Avatar
Modérateur

Depuis le: 14 Feb 2015
Pays: Canada, Québec
Status: Inactif
Points: 6513
Options des messages Options des messages   Thanks (0) Thanks(0)   Citer Hobby001 Citer  RépondreRéponse Lien Direct à ce Post Envoyé : 04 Feb 2021 à 13:29
Peut-être trouverez-vous des réponses dans les différents tutos proposés ici: https://www.scriptol.fr/sql/tutoriel-sqlite-debuter.php
Haut de la page
Hobby001 allez vers le bas
Admin Group
Admin Group
Avatar
Modérateur

Depuis le: 14 Feb 2015
Pays: Canada, Québec
Status: Inactif
Points: 6513
Options des messages Options des messages   Thanks (0) Thanks(0)   Citer Hobby001 Citer  RépondreRéponse Lien Direct à ce Post Envoyé : 04 Feb 2021 à 13:46
Haut de la page
tontondim allez vers le bas
Newbie
Newbie


Depuis le: 03 Feb 2021
Status: Inactif
Points: 25
Options des messages Options des messages   Thanks (0) Thanks(0)   Citer tontondim Citer  RépondreRéponse Lien Direct à ce Post Envoyé : 04 Feb 2021 à 14:07
Merci ! Big smile
Haut de la page
 Répondre Répondre Page  <12
  Partagez ce sujet   

Aller au Forum Permissions du forum allez vers le bas

Forum Software by Web Wiz Forums® version 12.04
Copyright ©2001-2021 Web Wiz Ltd.

Cette page a été affichée en 0.063 secondes.