Page 1 sur 1

Insérer une donnée dans une table

MessagePosté: Ven 8 Juil 2011 13:49
par M.Luis
Bonjour

J'ai créé une page templatée (à la racine du forum pour le .php et dans mon template pour le body.html) qui interroge une table que j'ai créée sur la BDD du forum pour afficher des éléments sur cette page. Jusque là pas de problème, les éléments s'affichent bien au bon endroit.
Par contre dans cette page, j'ai inséré un formulaire uniquement accessible aux admins pour pouvoir insérer directement de nouvelles données dans cette même table, mais là rien ne se passe, j'ai testé différentes méthode dont la dernière :
Partie PHP
Code: Tout sélectionner
$submit      = (!empty($POST['submit'])) ? true : false;

$part_name    = $POST['part_name'];
$part_type    = $POST['part_type'];
$part_ban    = $POST['part_ban'];
$part_url    = $POST['part_url'];

if ($submit)
{
add_form_key('partner');
$partner = array(
    'partenaire_id'      => '',
    'partenaire_name'   => $part_name,
    'partenaire_type'    => $part_type,
    'partenaire_ban'    => $part_ban,
    'partenaire_url'    => $part_url,
);
$sql = 'INSERT INTO '  .PARTENAIRES_TABLE.  $db->sql_build_array('INSERT', $partner);
$db->sql_query($sql);
}


Le formulaire :
Code: Tout sélectionner
<form method="post" id="partner" action="">
    <h2 class="titles">Ajout d'un partenaire</h2>
    <br/>
    <p><b class="genmed">Nom du Partenaire : </b>
      <input class="post"  type="text" name="part_name" size="45" maxlength="64" tabindex="2" value="" /></p>
      <br />
      <p><b class="genmed">Url de sa bannière : </b>
      <input class="post"  type="text" name="part_ban" size="45" maxlength="64" tabindex="2" value="" /></p>
      <br />
      <p><b class="genmed">Url du site partenaire : </b>
      <input class="post"  type="text" name="part_url" size="45" maxlength="64" tabindex="2" value="" /></p>
      <br />
      <p><b class="genmed">Type de partenaire : </b>
      <select class="post" size="1" name="part_type" />
      <option name="part_type" value="1">Forum</option>
      <option name="part_type" value="2">Blog</option>
      <option name="part_type" value="3">Éditeur</option>
      </select>
      </p>
      <br />
      <p align="center">
      <input class="btnmain" type="submit" accesskey="s" tabindex="6" name="post" value="{L_SUBMIT}" />
     
    </p>
    {S_FORM_TOKEN}
    {QR_HIDDEN_FIELDS}
  </form>

J'ai bien essayé de trouver une réponse sur le forum phpBB-fr.com, mais je n'ai rien trouvé qui m'aide. D'ailleurs je n'arrive pas à m'enregistrer sur le forum de phpBB-fr.com, voilà pourquoi je me dirige vers vous.

Re: Insérer une donnée dans une table

MessagePosté: Sam 9 Juil 2011 09:58
par lolovoisin
M.Luis a écrit:D'ailleurs je n'arrive pas à m'enregistrer sur le forum de phpBB-fr.com, voilà pourquoi je me dirige vers vous.

quel est le problème ?

Re: Insérer une donnée dans une table

MessagePosté: Sam 9 Juil 2011 11:07
par M.Luis
Je vous fait un screen pour vous montrer le soucis avec mon inscription sur phpBB-fr.com :
Image

Je précise que la question de confirmation précédente était "Quelle couleur obtient-on en mélangeant du noir et du blanc ?" à laquelle j'ai répondu gris.

Bref chaque fois que je re-tente l'inscription, au mieux il me met toujours "formulaire invalide"

Sinon pour mon soucis sur le code, c'est que je n'arrive pas à insérer les données sur la BDD depuis ma page partenaires.php, bien que je puisse en lire le contenu.
Je suppose donc que j'ai une erreur dans mon code mais je ne vois pas où ?

Re: Insérer une donnée dans une table

MessagePosté: Sam 9 Juil 2011 15:22
par lolovoisin
c'est pourtant marqué en clair, pas de . (point) dans le nom d'utilisateur.

Re: Insérer une donnée dans une table

MessagePosté: Sam 9 Juil 2011 15:56
par M.Luis
C'est pas exactement ce que je lis :
Le nom d’utilisateur doit contenir de 3 à 20 caractères et uniquement des caractères alphanumériques, espaces ou des caractères -+_[].

Si je ne m'abuse, le . (point) est aussi cité comme valable. De toute manière ça ne change rien au problème, car avec ou sans point, même avec un pseudo de 8 caractères tous en miniscule sans espace, il me retourne toujours que le formulaire est invalide.

Re: Insérer une donnée dans une table

MessagePosté: Sam 9 Juil 2011 16:06
par lolovoisin
Non le dernier point termine la phrase, il ne fait pas parti de la liste, comme les autres phrase en dessous.
Sinon, testez avec un autre navigateur

Re: Insérer une donnée dans une table

MessagePosté: Sam 9 Juil 2011 16:41
par M.Luis
Ok, je vais faire ça.

Sinon, je crois avoir trouvé une solution à mon véritable problème, en passant par un formulaire non templaté et en utilisant les requêtes php/MySQL traditionnelles. En même temps le formulaire ne devant être accessible qu'aux admins, il n'a pas besoin d'avoir une apparence strictement identique au reste du forum.

Merci pour votre patience et peut-être à bientôt.

Re: Insérer une donnée dans une table

MessagePosté: Jeu 3 Jan 2013 08:03
par M.Luis
Et pourtant il y en a bien un dans mon nom d'utilisateur.

Puis je vois pas l'intérêt de faire cette remarque 6 mois après.

Sinon, bonne année à vous aussi.