Aller au contenu

Probleme avec 1 champs de mon formulaire


Sujets conseillés

Posté

bonjour,

Je viens d'installer un script "agenda événementiel" qui permet aux visteurs de mon site d'inscrire des événements comme des concerts, fêtes, soirées, etc.

Tout fonctionne tres bien (date, ville heure...) sauf le champs description qui indique "array" quand je valide le formulaire. Pourtant ce champs est au milieu des autres champs et est construit de la meme façon. Je suis embété car du coups, ma rubrique foire completement.

Je n'arrive pas trouver le problème. Quelqu'un pourrait m'aider à régler cela?

Merci par avance

le script utilisé est : PhpMyEvents

lien de la rubrique : manifestations

Posté

je remarque que ce n'est pas toujours affiché array, des fois il y a un texte. Bizarre

tu dois avoir une boucle (while ou foreach) qui affiche les manifestations.

Dans cette boucle, donne moi les 5/6 lignes juste avant et aprés le mot "entrée: ".

Posté (modifié)

Tous les champs fonctionnent sauf "description"

Si "array" n'apparait pas sur tous les messages, c'est parce que depuis ma zone administration ça fonctionne comme il faut. J'ai donc rentré certaines manifestations depuis ma zone admin.

Je te donne tous le code de la page tu verra ainsi plus clair :

Je te remercie pour ton aide

<?
include("./admin/fonctions.php");
include("./admin/config.php");
include("./admin/header.php");
?>
<table border="0" bgcolor="<? echo $color_text1; ?>" width="100%" height="450" MARGINHEIGHT="0" MARGINWIDTH="0" TOPMARGIN="0" BOTTOMMARGIN="0" LEFTMARGIN="0" RIGHTMARGIN="0">
<tr>
<td valign="top" width="200">
<table width="100%" height="400" border="0" cellpadding="1" cellspacing="0">
<tr>
<td valign="top">
<table border="0" cellpadding="5" cellspacing="0">
<tr>
<td valign="top" width="100%">
<font size="3" color="<? echo $color_text2; ?>"><b>Rechercher un Evenement:</b></font>
</td>
</tr>
<tr>
<td valign="top" width="100%">
<table align="center" border="0" width="100%">
<form action="search.php" method="post">
<tr>
<td>
<div width="10%" align="left"><font size="2" color="<? echo $color_text2; ?>"><b>
Let's go!
</td>
<td>
<input type="text" name="nom" size="17"></b></font></div>
</td>
</tr>
<tr>
<td>
<div align="left"><font size="2" color="<? echo $color_text2; ?>"><b>
Rubrique:
</td>
<td>
<select name="genre" size="1">
<option value="2">événement
<option value="3">lieu
<option value="4">rubrique
</select></b></font></div>
</td>
<td>
<input type="submit" value="Go">
</td>
</tr>
<tr>
<td colspan="4"><font size="2" color="<? echo $color_text2; ?>"><b>
<br>Recherche par date:</b><br>
</td>
</tr>
<tr>
<td colspan="4"><? include("calendrier.php"); ?>
</td>
</tr>
</form>
<tr>
<td colspan="4"><br>
<a class="link" href="evenement.php">Inscrire un événement</a>
<br>
</td>
</tr>



</table>
<br><br>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
<td valign="top" width="20"></td>
<td valign="top" width="560" align="left">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<?
if($action=='proposer')
{
$res=verif($manif,$lieu,$description,$entree);

if (!$res)
{
echo "<center><font color='".$color_text2."'><b>Utilisez le bouton retour de votre navigateur pour corriger les erreurs.</b></font></center>";
}
else
{
mysql_connect($dbhost,$dblogin,$dbpassword);
mysql_select_db($dbname);
$requete = mysql_query("SELECT max(id) as max_id FROM $tableAgenda");
$max_id= mysql_fetch_array($requete);
$max_id=$max_id['max_id'];
$max_id ++;
if (is_uploaded_file($userfile))
{
move_uploaded_file($userfile, "admin/images/image_$max_id.jpg");
}
$date_deb = mktime(0,0,0,"$deb_month","$deb_day","$deb_year");
$date_fin = mktime(0,0,0,"$fin_month","$fin_day","$fin_year");
if ($fin_month==0||$fin_day==0||$fin_year==0) {$date_fin=$date_deb;}
$resultat=mysql_query("INSERT INTO $tableAgenda VALUES( '$max_id', '$manif', '$date_deb', '$date_fin', '$lieu', '$description', '$entree','$activ','$rubrique','$nom','$email','$telephone','$fax','$url');");

if ($resultat)
{
if ($activ==0)
{
echo "<center><font color='".$color_text2."'><b>Votre événement est enregistré.<br>Il sera affiché dans l'agenda dès que l'administrateur du site l'aura validé.<br>Merci pour votre contribution. </b><br><br><a class='link' href='./agenda.php'>Retour à l'agenda</a></font></center>";
}
if ($activ==1)
{
echo "<center><font color='".$color_text2."'><b>Votre événement est enregistré dans l'agenda.<br>Merci pour votre contribution.</b><br><br><a class='link' href='./agenda.php'>Retour à l'agenda</a></font></center>";}
}
else
{
echo "<center><font color='".$color_text3."'><b>Votre enregistrement a échoué. Essayez plus tard.</b></font></center>";
}
mysql_close();
}
}

else
{
echo "<center><font color='".$color_text2."'><b><i>FORMULAIRE DE PUBLICATION D'UN EVENEMENT</i></b><br>(Tous les champs sont obligatoires)</font></center>";
echo "<form action='$PHP_SELF' ENCTYPE='multipart/form-data' method='post'>
<table align='center' border='0' width='90%'>
<tr>
<td width='30%'>
<font color='".$color_text2."'>
<b>événement :</b>
</font>
</td>
<td width='70%'>
<input type='text' name='manif' size='40'>
</td>
</tr>
<tr>
<td width='30%'>
<font color='".$color_text2."'>
<b>date de début :</b></font>
</td>
<td width='70%'>
<select name='deb_day' size='1'>";
include_combo_box_day ();
echo "</select>
<select name='deb_month' size='1'>";
include_combo_box_month ();
echo "</select>
<select name='deb_year' size='1'>";
include_combo_box_year ();
echo "</select>
</td>
</tr>
<tr>
<td>
 
<td>
</tr>
<tr>
<td colspan='2' width='100%'>
<font color='".$color_text2."'>
<b>Si l'événement a lieu à une date unique,<br> ne changez rien au champs \"date de fin\".</b>
</font>
</td>
</tr>
<tr>
<td>
 
<td>
</tr>
<tr>
<td width='30%'>
<font color='".$color_text2."'>
<b>date de fin :</b>
</font>
</td>
<td width='70%'>
<select name='fin_day' size='1'>
<option value='0'>--";
include_combo_box_day ();
echo "</select>
<select name='fin_month' size='1'>
<option value='0'>--------";
include_combo_box_month ();
echo "</select>
<select name='fin_year' size='1'>
<option value='0'>---";
include_combo_box_year ();
echo "</select>
</td>
</tr>
<tr>
<td>
 
<td>
</tr>
<tr>
<td width='30%'>
<font color='".$color_text2."'>
<b>lieu :</b>
</font>
</td>
<td width='70%'>
<input type='text' name='lieu' size='40'>
</td>
</tr>
<tr>
<td width='30%'>
<font color='".$color_text2."'>
<b>rubrique :</b>
</font>
</td>
<td width='70%'>
<select name='rubrique' size='1'>";
include_combo_box_rubrique ();
echo "</select>
</td>
</tr>
<tr>
<td width='30%'>
<font color='".$color_text2."'>
<b>description :</b>
</font>
</td>
<td width='70%'>
<textarea name='description' cols='40' rows='5'></textarea>
</td>
</tr>
<tr>
<td width='30%'>
<font color='".$color_text2."'>
<b>entrée :</b>
</font>
</td>
<td width='70%'>
<textarea name='entree' cols='40' rows='2'></textarea>
</td>
</tr>
<tr>
<td width='30%'>
<font color='".$color_text2."'>
<b>image / photo (option.):</b>
</font>
</td>
<td width='70%'>
<INPUT TYPE='hidden' name='MAX_FILE_SIZE' value='5000000'>
<input type='file' name='userfile'>
</td>
</tr>
<tr>
<td colspan='3'>
<center>
<font color='".$color_text2."'>
<b><br>Données personnelles (facultatif):<br></b>
</font>
</center>
</td>
</tr>
<tr>
<td>
 
</td>
</tr>
<tr>
<td width='30%'>
<font color='".$color_text2."'>
<b>nom, prénom :</b>
</font>
</td>
<td width='70%'>
<input type='text' name='nom' size='40'>
</td>
</tr>
<tr>
<td width='30%'>
<font color='".$color_text2."'>
<b>e-mail :</b>
</font>
</td>
<td width='70%'>
<input type='text' name='email' size='40'>
</td>
</tr>
<tr>
<td width='30%'>
<font color='".$color_text2."'>
<b>téléphone :</b>
</font>
</td>
<td width='70%'>
<input type='text' name='telephone' size='40'>
</td>
</tr>
<tr>
<td width='30%'>
<font color='".$color_text2."'>
<b>fax :</b>
</font>
</td>
<td width='70%'>
<input type='text' name='fax' size='40'>
</td>
</tr>
<tr>
<td width='30%'>
<font color='".$color_text2."'>
<b>site perso :</b>
</font>
</td>
<td width='70%'>
<input type='text' name='url' size='40' value='http://'>
</td>
</tr>
<tr>
<td>
</td>
<td align='center' width='100%'>
<input type='hidden' name='action' value='proposer'>
<input type='submit' name='submitButtonName' value='Proposer'>
</td>
</tr>
<tr>
<td>
 
</td>
</tr>
<tr>
<td colspan='3'>
<font color='".$color_text2."' size='1'>
<b><br>(Les données personnelles ne seront utilisées qu'en cas de besoin de complément d'informations concernant l'événement proposé. Ces informations resteront confidentielles et ne serviront en aucun cas à faire du spamming.)<br></b>
</font>
</td>
</tr>
</table>
</form>";
}
?>
</td>
</tr>
</table>
</td>
</tr>
</table>
<?
include("./admin/footer.php");
?>

edit modérateur: les longs morceaux de code dans des balises codebox SVP !!

Modifié par Dudu
Posté

voici le code de la page d'affichage des evenements


<?
include("./admin/config.php");
include("./admin/fonctions.php");
include("./admin/header.php");
$today=time()+60*60*$decal;
?>
<table border="0" bgcolor="<? echo $color_text1; ?>" width="100%" height="450" MARGINHEIGHT="0" MARGINWIDTH="0" TOPMARGIN="0" BOTTOMMARGIN="0" LEFTMARGIN="0" RIGHTMARGIN="0">
<tr>
<td valign="top" width="200">
<table width="100%" height="400" border="0" cellpadding="1" cellspacing="0">
<tr>
<td valign="top">
<table border="0" cellpadding="5" cellspacing="0">
<tr>
<td valign="top" width="100%">
<font size="3" color="<? echo $color_text2; ?>"><b>Rechercher un Evenement:</b></font>
</td>
</tr>
<tr>
<td valign="top" width="100%">
<table align="center" border="0" width="100%">
<form action="search.php" method="post">
<tr>
<td>
<div width="10%" align="left"><font size="2" color="<? echo $color_text2; ?>"><b>
Let's go!
</td>
<td>
<input type="text" name="nom" size="17"></b></font></div>
</td>
</tr>
<tr>
<td>
<div align="left"><font size="2" color="<? echo $color_text2; ?>"><b>
Rubrique:
</td>
<td>
<select name="genre" size="1">
<option value="2">événement
<option value="3">lieu
<option value="4">rubrique
</select></b></font></div>
</td>
<td>
<input type="submit" value="Go">
</td>
</tr>
<tr>
<td colspan="4"><font size="2" color="<? echo $color_text2; ?>"><b>
<br>Recherche par date:</b><br>
</td>
</tr>
<tr>
<td colspan="4"><? include("calendrier.php"); ?>
</td>
</tr>
</form>
<tr>
<td colspan="4"><br>
<a class="link" href="evenement.php">Inscrire un événement</a>
<br>
</td>
</tr>



</table>
<br><br>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
<td valign="top" width="20"></td>
<td valign="top" width="560" align="left">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>
<?
if(!($connecte = _AT_mysql_connect($dbhost, $dblogin, $dbpassword)))
{
echo erreurServeurMySQL();
}

if (!isset($deb))
{
$deb = 0;
}

if ($connecte)
{
mysql_select_db($dbname);
$res=mysql_query("select * from $tableAgenda where etat=1");
while ($row= mysql_fetch_array($res))
{
efface($row[3],$today,$row[0]);
}

$resultat=mysql_query("select * from $tableAgenda where etat=1");
$count=mysql_num_rows($resultat);
$result=mysql_query("select * from $tableAgenda where etat=1 order by date_deb limit $deb,$nbrchamp ");
while ($row= mysql_fetch_array($result))
{
affiche_evenement($row[0]);
}
}

echo "<table align='center' border='0' width='100%'>
<td width='25%' align='left'>";

if ($deb > ($nbrchamp - 1))
{
$nbr_back = $deb - $nbrchamp;
$back_adresse="agenda.php?deb=$nbr_back";
echo "<a class='link' href='$back_adresse'>page précédente</a>";
}
echo "</td>
<td width='25%' align='right'>";
if (($deb + $nbrchamp) < $count)
{
$nbr_forw = $deb + $nbrchamp;
$forw_adresse="agenda.php?deb=$nbr_forw";
echo "<a class='link' href='$forw_adresse'>page suivante</a>";
}
echo "</td></table>";
echo "<br><br><br>";
?>
</td>
</tr>
</table>
</td>
</tr>
</table>
<?
include("./admin/footer.php");
?>

Posté

Voici le fichier : fonctions

<?
# Nom de la version
$version='v2.4';

# Fonction: erreur connection

function erreurServeurMySQL()
{
return "<CENTER><font color='#CC0000'><b>Désolé ! Le serveur MySQL est momentanément indisponible.<br>Revenez plus tard.</b></font><CENTER><br><br>";
}

# Envoi l'entête

function send_header()
{
echo "
<html>
<head>
<META http-equiv='Content-type' content='text/html; charset=ISO-8859-1'>
<TITLE>PhpMyEvents $version - Administration</TITLE>
<style type='text/css'>
<!--
a.tablink
{
font-family: New Times Roman;
font-size: 10pt;
color: #FFFFFF;
text-decoration: none;
}
a.tablink:hover
{
font-family: New Times Roman;
font-size: 10pt;
color: #FFFFFF;
text-decoration: underline;
}
-->
</style>
<script language=\"Javascript\">\n
function confirmation(id)\n
{\n
res = window.confirm(\"Etes-vous sûr de vouloir supprimer cet enregistrement?\")\n
if(res) { location.href = \"$PHP_SELF?".sid."\" + \"&act=delete&id=\" + id }\n
}\n
</script>
</head>
<body>";
}

# Envoie le bas de page

function send_footer()
{
echo "</body></html>";
}

# Fonction d'état des événements

function etat($etat)
{
if ($etat==0) {echo "<font color='#FF0000'><b>DESACTIVE</b></font>";}
if ($etat==1) {echo "<font color='#009900'><b>ACTIVE</b></font>";}
}

# Fonction d'affichage des événements

function affiche_evenement($id)
{
global $tableAgenda;
global $color_text2;

$requete=mysql_query("select * from $tableAgenda where id='$id'");
$row= mysql_fetch_array($requete);

$manif=$row[1];
$date_deb=$row[2];
$date_fin=$row[3];
$lieu=$row[4];
$description=$row[5];
$entree=$row[6];
$rubrique=$row[8];

$description = ereg_replace("\n","<br>",$description);
$entree = ereg_replace("\n","<br>",$entree);
echo "
<table align='center' border='0' width='100%'>
<tr>
<td width='49%'><font size=1 face=arial>
<font size=2 face=arial color='".$color_text2."'><b>$manif<br>";
comment($id);
echo "</b></font>
<font size=1 color='".$color_text2."'><br>$lieu<br>
</td>
<td colspan='2'>
<p align='right'><font color='".$color_text2."' size=1 face=arial><b>";
affiche_date($date_deb,$date_fin);
echo "</b></font><br><font size='1' color='".$color_text2."'>($rubrique)</font>
</p>
</td>
</tr>
<tr>";
if (!file_exists("./admin/images/image_$id.jpg"))
{
echo "<td colspan='2'>
<font color='".$color_text2."' size=1 face=arial>$description
<br>
<br>
Entrée: $entree</font>
</td>";
}
else
{
echo "<td align='left' valign='top'>
<font color='".$color_text2."' size=1 face=arial>$description
<br>
<br>
Entrée: $entree</font>
</td>
<td align='right' valign='top' width='49%'>
<IMG SRC='./admin/images/image_$id.jpg'>
</td>";
}
echo "</tr>
</table>
<br>
<br>";
}

# Fonction d'affichage des dates

function affiche_date($date_deb,$date_fin)
{
if ($date_fin==$date_deb)
{
$date_2=date("d-m-Y",$date_deb);
echo "le $date_2";
}
else
{
$date_2=date("d-m-Y",$date_deb);
$date_3=date("d-m-Y",$date_fin);
echo "du $date_2 au $date_3";
}
}

# Fonction qui efface les événements passés

function efface($date_fin,$date_today,$id)
{
global $tableComment;
global $tableAgenda;

$diff=$date_today-$date_fin-86400;
if ($diff>=0)
{
mysql_query("delete from $tableAgenda where id=$id");
mysql_query("delete from $tableComment where idevent=$id");
if (file_exists("admin/images/image_$id.jpg"))
{
unlink("admin/images/image_$id.jpg");
}
}
}

# Fonction comment

function comment($id)
{
global $tableComment;

$resultt=mysql_query("SELECT * FROM $tableComment WHERE idevent=$id");
$nbreComment=mysql_num_rows($resultt);
echo "<a class='link' href='java script:DisplayComment($id)'>[";
if ($nbreComment=="") {echo "Aucun commentaire";}
if ($nbreComment==1) {echo "1 commentaire";}
if ($nbreComment>1) {echo "$nbreComment commentaires";}
echo "]</a>";
}

# Fonction comment admin

function comment_admin($id)
{
global $tableComment;

$resultt=mysql_query("SELECT * FROM $tableComment WHERE idevent=$id");
$nbreComment=mysql_num_rows($resultt);
echo "[<a class='tablink' href='comment.php?id=$id'>";
if ($nbreComment=="") {echo "Aucun commentaire";}
if ($nbreComment==1) {echo "1 commentaire";}
if ($nbreComment>1) {echo "$nbreComment commentaires";}
echo "</a>]";
}

# Fonction de vérification des données pour le formulaire evenement.php

function verif($manif,$lieu,$description,$entree)
{
if ($manif=="")
{
echo "<center><font color='CC0000'><b>Vous n'avez pas saisi de titre pour l'événement<br></b></font></center>";
return false;
}
if ($lieu=="")
{
echo "<center><font color='CC0000'><b>Vous n'avez pas saisi de lieu pour l'événement<br></b></font></center>";
return false;
}
if ($description=="")
{
echo "<center><font color='CC0000'><b>Vous n'avez pas saisi de description<br></b></font></center>";
return false;
}
if ($entree=="")
{
echo "<center><font color='CC0000'><b>Vous n'avez pas saisi les modalités de l'entrée<br></b></font></center>";
return false;
}
else
{
return true;
}
}

function is_login($login,$pass)
{
global $tableConfig;

$query=mysql_query("select admin_pass from $tableConfig where admin_login='$login'");
if($row= mysql_fetch_array($query))
{
if($row["admin_pass"]==$pass)
{
return true;
}
else { return false; }
}
else { return false; }
}

function include_combo_box_day ($id_day = "")
{
for ($i=1;$i<32;$i++)
{
print ("<option value=\"");
print ("".$i."");
print ("\"");
if ($i == $id_day)
{
print(" SELECTED");
}
print (">");
print ("".$i."");
print ("</OPTION>");
}
}

$months_list = array("Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");

function include_combo_box_month ($id_month = "")
{
global $months_list;
for ($i=1;$i<13;$i++)
{
$j = $i-1;
print ("<option value=\"");
print ("".$i."");
print ("\"");
if ($i == $id_month)
{
print(" SELECTED");
}
print (">");
print ("$months_list[$j]");
print ("</OPTION>");
}
}

function include_combo_box_year ($id_year = "")
{
$annee = date("Y");
$limit = $annee + 2;
for ($i=$annee;$i<$limit;$i++)
{
print ("<option value=\"");
print ("".$i."");
print ("\"");
if ($i == $id_year)
{
print(" SELECTED");
}
print (">");
print ("".$i."");
print ("</OPTION>");
}
}

function include_combo_box_rubrique ($rubrique_selected = "")
{
global $rubrique_list;

foreach ($rubrique_list as $rubrique)
{
print ("<option value=\"");
print ("$rubrique");
print ("\"");
if ($rubrique == $rubrique_selected)
{
print(" SELECTED");
}
print (">");
print ("$rubrique");
print ("</OPTION>");
}
}

function read_file( $filename )
{
@$fp = fopen( $filename, "r");
if ( $fp )
{
$val = fread( $fp, filesize( $filename ));
fclose ( $fp );
return $val;
}

return false;
}
?>

Posté

Ces code est une horreur :sick:

dans le fichier des fonctions remplace les 2 lignes

 <font color='".$color_text2."' size=1 face=arial>$description

par

<font color='".$color_text2."' size=1 face=arial>";
if (is_array($description)) foreach ($description as $key => $val) echo $key." > ".$val;
echo "

puis affiche le page des evenements. qu'y a t'il ??

Posté

Bonjour,

Dans le champ description il y a "array".

Je constate que lorsque je remplis le formulaire et que je l'envoie, tous les champs fonctionnent comme il faut (sont inscrits dans ma base de données) sauf le champ "description". La description que j'entre dans mon formulaire est remplacée par "array dans ma base de données".

Posté

Ajoute les lignes en rouge dans le fichier de porposition d'un nouvel evenement, et crée un nouvel évenement et donne moi le resultat du test :huh:

if($action=='proposer')

{

echo "test 1: ".$description."<br />";

$res=verif($manif,$lieu,$description,$entree);

if (!$res)

{

echo "<center><font color='".$color_text2."'><b>Utilisez le bouton retour de votre navigateur pour corriger les erreurs.</b></font></center>";

}

else

{

echo "test 2: ".$description."<br />";

mysql_connect($dbhost,$dblogin,$dbpassword);

mysql_select_db($dbname);

$requete = mysql_query("SELECT max(id) as max_id FROM $tableAgenda");

$max_id= mysql_fetch_array($requete);

$max_id=$max_id['max_id'];

$max_id ++;

if (is_uploaded_file($userfile))

{

move_uploaded_file($userfile, "admin/images/image_$max_id.jpg");

}

$date_deb = mktime(0,0,0,"$deb_month","$deb_day","$deb_year");

$date_fin = mktime(0,0,0,"$fin_month","$fin_day","$fin_year");

if ($fin_month==0||$fin_day==0||$fin_year==0) {$date_fin=$date_deb;}

echo "test 3: ".$description."<br />";

$resultat=mysql_query("INSERT INTO $tableAgenda VALUES( '$max_id', '$manif', '$date_deb', '$date_fin', '$lieu', '$description', '$entree','$activ','$rubrique','$nom','$email','$telephone','$fax','$url');");

Posté

Je viens de supprimer tout le script sur mon serveur, j'ai ensuite supprimé les tables de ce script dans la base de donnée.

J'ai réinstallé le script, reinstallé les tables sur ma seconde base de données, et surprise ça fonctionne.

Je ne comprend pas d'ou pouvait venir ce problème mais bon ça marche.

"peut-etre des chmod et droits d'écriture"

Merci beaucoup à toi jeroen pour ton aide. Pour ce qui est de ma proposition en message privé, pas de probleme, tu m'envoie toutes les infos et je place le tout rapidement.

Merci encore.

Posté

J'ai compris d'ou vient le probleme, mais je ne sais pas le solutionner.

il apparait "array" dans la description lorsque je fais include de m'on entete de site.

le problème vient de mon entete. Si quelqu'un a une idée, elle sera la bienvenue

Veuillez vous connecter pour commenter

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



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