Partage
  • Partager sur Facebook
  • Partager sur Twitter

Formulaire PHP/MYSQL en PDO

Sujet résolu
22 septembre 2017 à 12:04:03

Bien le bonjour,

Ca fais un moment que je n'ai pas retouché le développement web, et ce mettre à jour et un peu compliquer, je fais appel à vous car je but sur quelque chose de tout simple et je ne vois pas d'ou viens mon probleme après un peu plus de 2 heures de recherches.

Je créer donc un petit formulaire pour remplir ma base de donnée, mais quand je l'execute, ca ne remplie rien, j'imagine donc soit un probleme de connexion, soit un oublie de ma part, des idées?

<form name="inscription" method="post" action="index.php" </br>
            <center>
			Client: <input type="text" name="client"/> </br>
            </br>
            Interlocuteur : <input type="text" name="interlocuteur"/> </br>
            </br>
            <input type="submit" name="valider" value="Valider">
            </form>
</div>

<?php
/* Connexion à une base ODBC avec l'invocation de pilote */
$bdd = 'mysql:dbname=eemaurp;host=127.0.0.1';
$user = 'root';
$password = '';
 
try {
    $bdd = new PDO($bdd, $user, $password);
} catch (PDOException $e) {
    echo 'Connexion échouée : ' . $e->getMessage();
}
if (isset ($_POST['valider'])){
                $client=$_POST['client'];
                $interlocuteur=$_POST['interlocuteur'];
                $bdd->exec("INSERT INTO projet(id,client,interlocuteur) VALUES('','$client','$interlocuteur')");
            }
?>

Merci d'avance.

  • Partager sur Facebook
  • Partager sur Twitter
22 septembre 2017 à 12:12:35

Salut,

active les exceptions PDO ;)

++

  • Partager sur Facebook
  • Partager sur Twitter
22 septembre 2017 à 12:28:59

Merci pour ta réponse christouphe, mais étant sous PHP 5.6.31, les exceptions PDO ne sont elles pas activer par défaut?
  • Partager sur Facebook
  • Partager sur Twitter
22 septembre 2017 à 12:34:52

Elle ne le sont jamais ;)

Cf ma signature ;)

Au boulot :D

++

  • Partager sur Facebook
  • Partager sur Twitter
25 septembre 2017 à 12:29:08

Merci pour tes conseils, voici donc ou j'en suis depuis la semaine dernière, car pas travaillé dessus ce week-end.

Je vois donc bien l'erreur: "Fatal error: Cannot use try without catch or finally in C:\wamp64\www\test\creeraffaire2.php on line 6"

Mais je ne comprend pas, le ligne 6 correspond à 

if (isset ($_POST['valider'])){

Code PHP:

<?php
/* Connexion à une base ODBC avec l'invocation de pilote */
try {
    $bdd = new PDO('mysql:host=localhost;dbname=eemaurp;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
if (isset ($_POST['valider'])){
                $client=$_POST['client'];
                $interlocuteur=$_POST['interlocuteur'];
                $bdd->exec("INSERT INTO projet(id,client,interlocuteur) VALUES('','$client','$interlocuteur')");
            }
?>



  • Partager sur Facebook
  • Partager sur Twitter
25 septembre 2017 à 12:37:54

tu as oublié le catch:

c'est

<?php
    try {
        $bdd = new PDO($bdd, $user, $password);
    } catch (PDOException $e) {
        echo 'Connexion échouée : ' . $e->getMessage();
    }

et pas

<?php
    try {
        $bdd = new PDO($bdd, $user, $password);
    }

++


  • Partager sur Facebook
  • Partager sur Twitter
25 septembre 2017 à 12:41:40

Ok, j'ai donc compris d'ou venait mon probleme, il semblerait que le id est automatique maitenant et qu'il n'y ai plus besoin de le géré, voici donc mon code, qui fonctionne, pour ceux et celles qui ce retrouverait dans le meme probleme que moi:

<?php
/* Connexion à une base de donnée eemaurp */
try {
    $bdd = new PDO('mysql:host=localhost;dbname=NOM BASE DE DONNEE;charset=utf8', 'NOM UTILISATEUR', 'MOT DE PASSE', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
    } catch (PDOException $e) {
        echo 'Connexion échouée : ' . $e->getMessage();
}
if (isset ($_POST['valider'])){
                $COLONNE 1=$_POST['COLONNE 1'];
                $COLONNE 2=$_POST['COLONNE 2'];
                $bdd->exec("INSERT INTO NOM DE LA TABLE(COLONNE 1,COLONNE 2) VALUES('$COLONNE 1','$COLONNE 2')");
            }
?>

-
Edité par Wolfy81 25 septembre 2017 à 12:57:25

  • Partager sur Facebook
  • Partager sur Twitter
25 septembre 2017 à 13:11:18

heu, c'est présent dans tous les cours PHP + SQL avec une table et son id en PK AI ^^

Il suffit de bien lire les cours, et surtout de s'en souvenir.

++

  • Partager sur Facebook
  • Partager sur Twitter
21 avril 2018 à 13:38:12

bonjour jai test ton code et jai une erreur qui dit:

Notice: Undefined index: username in C:\wamp\www\ND\index.PHP on line 19

<form name="inscription" method="post" action="index.php" </br>
            <center>
            username: <input type="text" name="client"/> </br>
            </br>
            password : <input type="text" name="interlocuteur"/> </br>
            </br>
            <input type="submit" name="valider" value="Valider">
            </form>
</div>
 
<?php
/* Connexion à une base de donnée eemaurp */
try {
    $bdd = new PDO('mysql:host=localhost;dbname=phplogin;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
    } catch (PDOException $e) {
        echo 'Connexion échouée : ' . $e->getMessage();
}
if (isset ($_POST['valider'])){
                $username =$_POST['username'];
                $password =$_POST['password'];
                $bdd->exec("INSERT INTO users(username,password) VALUES('$username','$password')");
            }
?>



Notice: Undefined index: password in C:\wamp\www\ND\index.PHP on line 20

je tien a precisser aue les enregistrement arrive dans la BD sana le contenu juste ID

  • Partager sur Facebook
  • Partager sur Twitter
21 avril 2018 à 15:20:00

Salut,

on ne squatte pas le sujet des autres, on en ouvre un pour soi et on attend que quelqu'un vienne poster. Les UP sont 1/24h

  • Partager sur Facebook
  • Partager sur Twitter
13 juillet 2023 à 0:44:44 - Message modéré pour le motif suivant : Merci d’utiliser le bouton code pour insérer un code sur le forum


13 juillet 2023 à 3:42:31

@AdamMahamat4  Bonsoir, merci de ne pas squatter le sujet résolu des autres pour une nouvelle question, créer votre sujet dans le respect des règles du forum à savoir que le code que vous avez écrit doit être inséré sur le forum à l'aide de l'outil d'intégration de code soit le bouton code </> de la barre d'outil.

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter