Aller au contenu

pb avec formulaire dans un fichier php


Sujets conseillés

Posté

Bonjour tout le monde !

Voila j'ai un probleme avec un formulaire depuis pres que une semaine et j'espere le résoudre dans ce forum.

Mon probleme est que je voudrai faire de tel sorte que qd je rempli mon formulaire par plusieurs mot séparés par des virgules ou points virgules par exemple (bleble,dgef,sfdffsdf) ces mots seront récupérs et les insérés dans la base un par un .

j' ai utilisé la methode explode .....foreach mais il les insérére comme il a ete ajouté dans le formulaire (bleble,dgef,sfdffsdf).

voici une partie de mon code:


<?php

include ("../fonctions.php");
if(isset($_REQUEST['ajouter']))
{

$erreur="";
if($_POST['synonyme']=="")

$erreur="Vous devez remplir le champs. Synonyme non créé.<br/>";





// On regarde si il n'y a pas deja ce mot clef sur ce numero/smsc
$sql="select * from short_numbers a, type_msg_recus b where a.numero=b.numeros_appel and a.smsc=b.smsc and b.type_msg='".addslashes($_POST['synonyme'])."'"
;
$res=mysql_query($sql);
}
if(mysql_num_rows($res)>0)
{
$data=mysql_fetch_array($res);
$erreur.="Le mot-clef " . $_POST['synonyme'] . " est déjà utilisé sur le numéro " .$data['numero']. " par le service \"".(($data['synonyme_de']!="")? $data['synonyme_de']:$data['type_msg'])."\".<
br>";
}

if($erreur=="")
{

$ynonyme=explode(',',$_POST['synonyme']);
$sql="select * from type_msg_recus where ref_type_msg='".$_POST['ref_type_msg']."'";
$res=mysql_query($sql);
$data=mysql_fetch_array($res);
$sql="select * from type_msg_recus where type_msg='".$data['type_msg']."' and synonyme_de=''";
$res=mysql_query($sql);

while($data=mysql_fetch_array($res))
foreach($synonyme as $synonyme)
{


$sql="insert into type_msg_recus(type_msg,numeros_appel,smsc,categ
orie_msg,id_categorie_service,statut,text_info,a
vec_code,synonyme_de) values('".addslashes($_POST['synonyme'])."','".$
data['numeros_appel']."','".$data['smsc']."','".
$data['categorie_msg']."','".$data['id_categorie
_service']."','".$data['statut']."','".addslashe
s($data['text_info'])."','".$data['avec_code']."
','".addslashes($data['type_msg'])."')";

mysql_query($sql);
}
print("<div id=grosse_surbrillance>Synonyme ajouté avec succès.</div>");

}
else
{
print("<div id=grosse_surbrillance>".$erreur."</div>");
}


if(isset($_REQUEST['supprimer']))
{
$sql="delete from type_msg_recus where ref_type_msg=".$_REQUEST['ref_type_msg'];
mysql_query($sql);
print("<div id=grosse_surbrillance>Synonyme supprimé avec succès.</div>");
}
?>
</div>

<div id=titre2_service>Les mots clefs et leurs synonymes</div>
<div id=texte_service>
<p class="p2">
<div id=stats>


<?php
$sql="select * from type_msg_recus where synonyme_de='' and type_msg<>'' group by type_msg";

$menu_nav="";


$menu_nav=menu_page($sql,$resultat,$_GET['page']
,20,0);

if ($menu_nav!="")
{

?>

<table width='85%' border='0' align="center" cellpadding='0' cellspacing='0'>
<tr><td align="center"><? echo $menu_nav; ?></td></tr>
</table>
<?php
}
?>

<table>
<thead>
<tr>
<td>Mot Clef</td><td>Synonymes</td><td>Ajout
er Synonyme</td></tr>
</tr>
</thead>

<?php
while($data=mysql_fetch_array($resultat))
{
print("<tr>");
print("<td valign=top><div id=grosse_surbrillance>".$data['type_msg']."<
/div>");




$sql2="select * from type_msg_recus where synonyme_de='".$data['type_msg']."' group by type_msg";
$res2=mysql_query($sql2);
while($data2=mysql_fetch_array($res2))
{
print($data2['type_msg']." "."<a href=php.php?supprimer=yes&ref_type_msg=".$d
ata2['ref_type_msg']."><img src=../images/icone_supprimer.png alt=Supprimer border=0></a><br>");
}
print("<td valign=top>");
print("<div id=formulaire>");
print("<form action='php.php' method='post'>");
print("<input type=text name=synonyme maxlength=20 size=15>");



print("</select>");
print("<input type=hidden value=".$data['ref_type_msg']." name=ref_type_msg>");
print("<input type=submit value=Ok name=ajouter>");

print("</form>");
print("</div>");
print("</td>");
print("</tr>");
}

?>

</table>
</div>
</p>
</div>

Merci de votre comprehension

<edit Modérateur : merci d'utiliser la balise CODEBOX pour les codes un peu longs>

Posté

Bonjour,

Ne pourrais-tu pas mettre le bout de code qui correspond au découpage de ta chaine et à l'insertion en base ? Parce que c'est plutôt contraignant de devoir faire le tri. C'est vendredi, je suis un peu feignant :cool:

Posté

Merci de répondre!

voici le scripte

<?php

include ("../fonctions.php");
if(isset($_REQUEST['ajouter']))
{

$erreur="";
if($_POST['synonyme']=="")

$erreur="Vous devez remplir le champs. Synonyme non créé.<br/>";
// On regarde si il n'y a pas deja ce mot clef sur ce numero/smsc
$sql="select * from short_numbers a, type_msg_recus b where a.numero=b.numeros_appel and a.smsc=b.smsc and b.type_msg='".addslashes($_POST['synonyme'])."'";
$res=mysql_query($sql);
}
if(mysql_num_rows($res)>0)
{
$data=mysql_fetch_array($res);
$erreur.="Le mot-clef " . $_POST['synonyme'] . " est déjà utilisé sur le numéro " .$data['numero']. " par le service \"".(($data['synonyme_de']!="")? $data['synonyme_de']:$data['type_msg'])."\".<br>";
}

et voici l'insertion en base là j'ai utilisé l'explode et foreach mais ca ne marche pas je sais si c'est la methode qui n'est pas bonne ou pas

$synonyme=explode(",",$_POST['synonyme']);
foreach($synonyme as $synonyme){
$sql="select * from type_msg_recus where ref_type_msg='".$_POST['ref_type_msg']."'";
$res=mysql_query($sql);
$data=mysql_fetch_array($res);
$sql="select * from type_msg_recus where type_msg='".$data['type_msg']."' and synonyme_de=''";
$res=mysql_query($sql);
reset($synonyme);
while($data=mysql_fetch_array($res))

{
$sql="insert into type_msg_recus(type_msg,numeros_appel,smsc,categorie_msg,id_categorie_service,statut,text_i
fo,avec_code,synonyme_de) values('".addslashes($_POST['synonyme'])."','".$data['numeros_appel']."','".$data['smsc']."','".$data['categorie_msg']."','".$data['id_categorie_service']."','".$data['statut']."','".addslashes($data['text_info'])."','".$data['avec_code']."','".addslashes($data['type_msg'])."')";

mysql_query($sql);}
}

print("<div id=grosse_surbrillance>Synonyme ajouté avec succès.</div>");


}

Posté

Essaye de mettre un

print_r($synonyme);

après la ligne

$synonyme=explode(",",$_POST['synonyme']);

et dis nous ce que ca t'affiche ?

Posté

Slt !

voila ce qu'il m'affiche quand je fait

print_r($synonyme);

apres la ligne $synonyme=explode(",",$_POST['synonyme']);

il m'affiche cela:

Array ( [0] => act [1] => actio )

Posté

Merci a vous tous et particuliérement a ceux qui ont participe à mon poste .

Ca marche nikel :thumbsup:

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...