Envoi formulaire
Fermé
Tintin
-
Modifié le 10 oct. 2021 à 01:31
jordane45 Messages postés 38453 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 14 mars 2025 - 13 oct. 2021 à 15:42
jordane45 Messages postés 38453 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 14 mars 2025 - 13 oct. 2021 à 15:42
A voir également:
- Envoi formulaire
- Formulaire de réclamation facebook - Guide
- Civilité sur un formulaire - Forum VB / VBA
- Votre envoi est en cours de transport vers son site de livraison. ✓ - Forum Consommation & Internet
- Envoi impossible messenger - Forum Facebook Messenger
- Formulaire de reclamation instagram - Guide
4 réponses
jordane45
Messages postés
38453
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 mars 2025
4 740
10 oct. 2021 à 09:25
10 oct. 2021 à 09:25
Bonjour
Ok. Et quel est le souci ?
Qu'as tu essayé ? Sur quoi bloques tu ?
Ok. Et quel est le souci ?
Qu'as tu essayé ? Sur quoi bloques tu ?
Je parle la langue portugaise
Je suis à cours d'idée, je ne sais pas comment te faire comprendre, je veux te donner un exemple:
Dans un site web de e-commerce par exemple, quand un user fait une commande,
Deux table:
Table 1: (ou il y a les données du user quand il a fait l'inscription, id, nom, pseudos etc...)
Table 2: (ou vont les données du user quand il fait la commande, id_table2, adresse, montant etc... Et le userId qui se référe au session[id], en quelques sorte le userId SELECT INTO table1 )
Pour après, pouvoir récupérer les Données du table 2, et afficher pour le user avec l'id=1 par exemple
C'est possible?
Je suis à cours d'idée, je ne sais pas comment te faire comprendre, je veux te donner un exemple:
Dans un site web de e-commerce par exemple, quand un user fait une commande,
Deux table:
Table 1: (ou il y a les données du user quand il a fait l'inscription, id, nom, pseudos etc...)
Table 2: (ou vont les données du user quand il fait la commande, id_table2, adresse, montant etc... Et le userId qui se référe au session[id], en quelques sorte le userId SELECT INTO table1 )
Pour après, pouvoir récupérer les Données du table 2, et afficher pour le user avec l'id=1 par exemple
C'est possible?
jordane45
Messages postés
38453
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 mars 2025
4 740
Modifié le 11 oct. 2021 à 23:57
Modifié le 11 oct. 2021 à 23:57
Je suis à cours d'idée, je ne sais pas comment te faire comprendre,
La réciproque est vraie ...
Tu nous parles du session[id] .. donc ... on peut partir du principe que :
- Ton utilisateur est déjà identifié
- Tu as stocké son id dans une variable de session.
quand un user envoi le formulaire, son userId s'affiche dans la table 2
Donc tu fais une requête INSERT dans ta table 2 et tu utilises le contenu de ta variable de session pour connaitre l'id de l'utilisateur...
Je vais te donner ce à quoi devrait ressembler ton code .. sinon je pense qu'on va y passer la semaine ...
Donc :
<?php session_start(); // démarrage session à placer au début de chacun de tes scripts php //récupération de l'id qui se trouve en session $id = !empty($_SESSION['id']) ? $_SESSION['id'] : NULL; // récupération variable post $text = !empty($_POST['text']) ? $_POST['text'] : NULL; //préparation de la requête et des variablesnsert $sql = 'INSERT INTO table2(text,userId) VALUES(?, ?)'; $datas = array($text,$id); //Execution de la requete try { $requete = $bdd->prepare($sql); $requete->execute($datas); } catch (Exception $e) { // en cas d'erreur : echo " Erreur ! " . $e->getMessage(); echo " Les datas : "; print_r($datas); }
Je voulais d'abord te remercier pour ton aide et la patience que t'as????
Je veux tenter être explicite:
J'ai table membre ou il y a des utilisateurs enregistrés (comme donnée, nom, pesudo, user_id etc...)
Et la table 2 ou les membre peuvent envoyer le formulaire (avec comme donnée, txt1, userId etc...)
Quand un membre accéder au page formulaire et qu'il envoi, je veux lié les deux table membre et table 2, le userId du table membre et table 2 soit la même,
Select into membre where userId = session[id]
Regarde ce code, le problème dans la base de données je reçois rien
<?php
session_start();
$bdd = new PDO('mysql:host=localhost;dbname=bdata', 'root', '');
if(!$_SESSION['id']){
header('Location: page.php');
}
if(isset($_SESSION['id'])){
$requser = $bdd->prepare("SELECT * FROM tb_user WHERE userId = ?");
$requser->execute(array($_SESSION['id']));
if(isset($_POST['submit'])){
if(!empty($_POST['nome']) AND !empty($_POST['email']) AND !empty($_POST['text1']) AND !empty($_POST['text2']) AND !empty($_POST['text3'])){
$nome = htmlspecialchars($_POST['nome']);
$email = htmlspecialchars($_POST['email']);
$text1 = htmlspecialchars($_POST['text1']);
$text2 = htmlspecialchars($_POST['text2']);
$text3 = htmlspecialchars($_POST['text3']);
$userId = htmlspecialchars($_POST['userId']);
$insererTransaction = $bdd->prepare('INSERT INTO transactionv(nome, email, text1, text2, text3, userId) VALUES(?, ?, ?, ?, ?, ?)');
$insererTransaction->execute(array($nome, $email, $text1, $text2, $text3, $userId, $_SESSION['id']));
$succes = " bien envoyer <a href=\"http://google.com\">Proceguir </a>";
}else{
$erreur = "veuillez completer tous les champs";
}
}
}
?>
Je veux tenter être explicite:
J'ai table membre ou il y a des utilisateurs enregistrés (comme donnée, nom, pesudo, user_id etc...)
Et la table 2 ou les membre peuvent envoyer le formulaire (avec comme donnée, txt1, userId etc...)
Quand un membre accéder au page formulaire et qu'il envoi, je veux lié les deux table membre et table 2, le userId du table membre et table 2 soit la même,
Select into membre where userId = session[id]
Regarde ce code, le problème dans la base de données je reçois rien
<?php
session_start();
$bdd = new PDO('mysql:host=localhost;dbname=bdata', 'root', '');
if(!$_SESSION['id']){
header('Location: page.php');
}
if(isset($_SESSION['id'])){
$requser = $bdd->prepare("SELECT * FROM tb_user WHERE userId = ?");
$requser->execute(array($_SESSION['id']));
if(isset($_POST['submit'])){
if(!empty($_POST['nome']) AND !empty($_POST['email']) AND !empty($_POST['text1']) AND !empty($_POST['text2']) AND !empty($_POST['text3'])){
$nome = htmlspecialchars($_POST['nome']);
$email = htmlspecialchars($_POST['email']);
$text1 = htmlspecialchars($_POST['text1']);
$text2 = htmlspecialchars($_POST['text2']);
$text3 = htmlspecialchars($_POST['text3']);
$userId = htmlspecialchars($_POST['userId']);
$insererTransaction = $bdd->prepare('INSERT INTO transactionv(nome, email, text1, text2, text3, userId) VALUES(?, ?, ?, ?, ?, ?)');
$insererTransaction->execute(array($nome, $email, $text1, $text2, $text3, $userId, $_SESSION['id']));
$succes = " bien envoyer <a href=\"http://google.com\">Proceguir </a>";
}else{
$erreur = "veuillez completer tous les champs";
}
}
}
?>
jordane45
Messages postés
38453
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 mars 2025
4 740
13 oct. 2021 à 15:42
13 oct. 2021 à 15:42
Quand tu postes du code sur le forum, tu dois utiliser les BALISES DE CODE.
Explications ( à lire entièrement !!!) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Ensuite :
A quoi ( ou qui devrais-je dire) correspond la valeur contenue dans le champ : $_POST['userId']
A qui correspond la valeur contenue dans la variable de session $_SESSION['id'] ?
C'est le même id... ou l'id de deux utilisateurs différents ?
Et enfin,
Comme tu fais du PDO, il faudra activer l'affichage des erreurs PDO dans ta connexion et placer CHAQUE requête dans un bloc try/catch
Voir explications ici :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Reviens nous voir avec le code modifié et les réponses aux questions que je viens de te poser...
Explications ( à lire entièrement !!!) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Ensuite :
A quoi ( ou qui devrais-je dire) correspond la valeur contenue dans le champ : $_POST['userId']
A qui correspond la valeur contenue dans la variable de session $_SESSION['id'] ?
C'est le même id... ou l'id de deux utilisateurs différents ?
Et enfin,
Comme tu fais du PDO, il faudra activer l'affichage des erreurs PDO dans ta connexion et placer CHAQUE requête dans un bloc try/catch
Voir explications ici :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Reviens nous voir avec le code modifié et les réponses aux questions que je viens de te poser...
11 oct. 2021 à 01:27
11 oct. 2021 à 01:32
11 oct. 2021 à 11:37
Tu fais deux fois un INSERT. ..
Soit tu revois ton code pour ne faire qu'un seul INSERT
Soit tu modifies la seconde requête pour faire un UPDATE
Moi je partirai sur une seule requête .. comme ceci
11 oct. 2021 à 20:49
Mon plus grand souci c'est avec l'insert into ( j'aimerais que quand quand un user envoi le formulaire, son userId s'affiche dans la table 2 par exemple, para prêt, me donner la possibilité de récupérer les données du user, savoir qui envoie, comme la transaction, récupérer et en faire comme un historique de user par apport à son session[id] ou quelque chose tu me conseilles,
Exemple: quand quelqu'un envoie le formulaire (réf: de mon petit code en base) avec le session[id] dans la table son id dans la table user, apparaît dans la table 2, j'arrive pas à l'adapter à l'autre formulaire????help jordan
Je ne sais pas si tu me comprends bien
<Input type="hidden" name="userId" >
<Textarea name="text" ></textarea>
<?PHP
If (isset($_POST['submit']))
{
if ($con->query("insert into table2 (text,userId) values ('$_POST[text]','$_POST[userId]')")){
écho
}else
écho
}
?>
11 oct. 2021 à 20:52
Et il te suffit de l'ajouter dans ta requête insert...
C'est vrai que ton français est compliqué à comprendre... Si au moins tu essayais de coder toi-même puis de nous montrer ce que tu as fait nous pourrions éventuellement t'aider à le corriger.