8768 sujets

Développement web côté serveur, CMS

Bonsoir à tous,

J'ai fait un formulaire fonctionnel à priori, mon seul problème reste désormais la réception des informations saisies dans le formulaire.

Il faut pour ça crée une page de traitement et lier cette dernière au formulaire par le biais d'une ligne de code. Tout ça, j'ai fait. Ce qu'il me manque, c'est ce qu'il faut mettre dans la page de traitement pour que s'inscrivent dans ma base de données les infos du formulaire.


Merci de votre aide !
Merci ! Smiley biggrin

Je suis passé à côté...

Mais j'ai encore un problème Smiley confused :

PHP me dit qu'il y a une erreur dans mon code, à la fin des variables, à la ligne où il y a les 2 parenthèses fermées suivies du point-virgule :


$req = $bdd->prepare('INSERT INTO jeux_video(nom, possesseur, console, prix, nbre_joueurs_max, commentaires) VALUES(:nom, [langue]ossesseur, :console, [langue]rix, :nbre_joueurs_max, :commentaires)');

$req->execute(array(

    'nom' => $_POST['nom'],
    'possesseur' => $_POST['possesseur'],
    'console' => $_POST['console'],
    'prix' => $_POST['prix'],
    'nbre_joueurs_max' => $_POST['nbre_joueurs_max'],
    'commentaires' => $_POST['commentaires']
    ));


echo 'Le jeu a bien été ajouté !';



Pourriez-vous me dire pourquoi ?

Je précise que même quand je désactive les variable une à une (c-à-d que je les mets en commentaire) le problème est toujours là.


Merci!!
Modifié par ahover (21 Aug 2017 - 13:12)
Non Smiley ravi

Ca c'est à cause des bbcodes et smileys, le Smiley langue se transforme en Smiley langue à défaut de pouvoir être affiché...
Voilà le vrai code :



<?php
try
{
	$bdd = new PDO('mysql:host=localhost;dbname=dmd;charset=utf8', 'root', '');
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}

$req = $bdd->prepare('INSERT INTO dmdapp(Pseudo, Localisation, N°Appart., Signature) VALUES(:Pseudo, :Localisation, :N°Appart., :Signature)');

$req->execute(array(

    'Pseudo' => $_POST['Pseudo'],

    'Localisation' => $_POST['Localisation'],

    'N°Appart.' => $_POST['noapp'],

    'Signature' => $_POST['Signature'] ));


echo 'Votre demande a bien été transmise !';
?>


J'ai pas compris "virer un commentaire" ? Tu veux dire enlever, par rapport à ce que j'ai juste avant ? Ou tu veux dire autre chose ?


Merci de bien vouloir m'aider Smiley smile
Modifié par ahover (21 Aug 2017 - 13:33)
SQLSTATE[HY093]: Invalid parameter number: parameter was not defined

Et si j'utilise un autre code trouvé ailleurs sur le web ça me donne :
Notice: Undefined index: N°Appart.


L'autre code c'est quelque chose comme ça (en tout cas c'est ce que j'ai essayé) :


<?php
try
{
	$bdd = new PDO('mysql:host=localhost;dbname=dmd;charset=utf8', 'root', '');
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}

$sql = ('INSERT INTO dmdapp(Pseudo, Localisation, N°Appart., Signature) VALUES("'.$_POST['Pseudo'].'", "'.$_POST['Localisation'].'", "'.$_POST['N°Appart.'].'", "'.$_POST['Signature'].'")');


echo 'Votre demande a bien été transmise !';
?>



Edit :

Dans la documentation PHP j'ai vu dans les codes qu'il y avait ça d'ajouté :

$matches = array('1');
$count = count($matches);
for($i = 0; $i < $count; ++$i) {
    $values[] = '?';
}


Donc je l'ai ajouté (dans le code du dessus, le dernier) juste après ma connexion à ma BDD et juste avant l'INSERT TO.
La réponse reste la même pour celui-ci : Notice: Undefined index: N°Appart. in ...

Et si je mets ça avec le tout premier code (où il y avait les variables ligne par ligne), j'ai encore la même réponse.

En fait, les mêmes réponses restent. Ça ne change rien.
Modifié par ahover (21 Aug 2017 - 13:57)
T'assures !!!!!!

C'était quoi son problème, les majuscules ou le ° ?

Du coup j'ai carrément tout modifié ; le nom dans la bdd et dans le code d'envoi.


Merci beaucoup!!
Modifié par ahover (21 Aug 2017 - 13:59)
C'était le . qui te causait tes soucis. Fait simple pour commencer et essai de comprendre ce que tu programmes, autrement tu vas pas t'en sortir.
J'essaye de comprendre mais je programme pas vraiment, je ne fais que ré-utiliser en réalité...
Merci en tout cas !
Essai de comprendre ce que tu tapes. Ton erreur était simple, la programmation c'est la logique. Il faut bien observer ta source, qui en général si elle vient d'un tuto sur le net est bonne. Paris, c'est pas fait en un jour.