Re !
Bon ben tout marche sauf l'insertion de témoignages qui je ne sais pourquoi a un petit problème. L'insertion de news marche par contre, j'ai comparé, j'ai pas vu de différence... la seule différence c'est que certains champs sont différents (dans témoignages il n'y a pas de titre par exemple).
Insertion de news (marche)
<?php
ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL | E_STRICT);
print_r($_FILES);
if(!empty($_FILES))
{
$chemin_destination = 'sites/all/images/';
$dossier = 'sites/all/images/';
$fichier = basename($_FILES['image_news']['name']);
$taille_maxi = 102400;
$taille = filesize($_FILES['image_news']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['image_news']['name'], '.');
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
$erreur = 'Vous devez uploader un fichier de type png, gif, jpg, ou jpeg';
}
if($taille>$taille_maxi)
{
$erreur = '<br /><br />Le fichier est trop lourd<br /><br />';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
//On formate le nom du fichier ici...
$fichier = strtr($fichier,
'ÀÁÂÃÄÅÇèéÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
if(move_uploaded_file($_FILES['image_news']['tmp_name'], $dossier . time() . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné
{
echo '<br /><br />Upload effectué avec succès !<br /><br />';
}
else //Sinon (la fonction renvoie FALSE).
{
echo '<br /><br />Échec de l\'upload !<br /><br />';
}
}
else
{
echo $erreur;
}
// on teste si le formulaire a été validé
if (isset($_POST['go']) && $_POST['go']=='Poster la news') {
// on se connecte à notre base
$base = mysql_connect ('***', '***', '***');
mysql_select_db('***', $base);
// on teste la déclaration de nos variables
if (!isset($_POST['auteur']) || !isset($_POST['titre']) || !isset($_POST['texte_news'])) {
$erreur = 'Les variables nécessaires au script ne sont pas définies.';
}
else {
if (empty($_POST['auteur']) || empty($_POST['titre']) || empty($_POST['texte_news'])) {
$erreur = 'Au moins un des champs est vide.';
}
// si tout est bon, on peut commencer l'insertion dans la base
else {
// lancement de la requête d'insertion
$sql = 'INSERT INTO news VALUES("", "'.mysql_escape_string($_POST['auteur']).'", "'.mysql_escape_string($_POST['titre']).'", "'.date("Y-m-d H:i:s").'", "'.mysql_escape_string($dossier . time() . $fichier).'", "'.mysql_escape_string($_POST['texte_news']).'")';
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
echo $sql;
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
// on ferme la connexion à la base de données
mysql_close();
/* on redirige vers la page d'accueil du site (attention, cette redirection ne fonctionne qui si vous avez placé cette page dans un répertoire à partir de la racine du site). Si ce n'est pas le cas, veuillez entrer ici le bon chemin d'accès afin de retomber sur la page d'accueil du site.
header('Location: index.php'); */
// on termine le script courant
exit();
}
}
}
}
?>
<html>
<head>
<title>Insertion d'une nouvelle news</title>
</head>
<body>
<!-- on fait pointer le formulaire vers la page traitant les données -->
<form method="post" action="insert_news.php" enctype="multipart/form-data">
<table>
<tr>
<td>
<span class="gras">Auteur :</span>
</td>
<td>
<input type="text" name="auteur" maxlength="100" size="30" value="<?php if (isset($_POST['auteur'])) echo htmlentities(trim($_POST['auteur'])); ?>">
</td>
</tr>
<tr>
<td>
<span class="gras">Titre :</span>
</td>
<td>
<input type="text" name="titre" maxlength="100" size="100" value="<?php if (isset($_POST['titre'])) echo htmlentities(trim($_POST['titre'])); ?>">
</td>
</tr>
<tr>
<td>
<span class="gras">Image</span>
<input type="text" style="display:none" name="nbr_photo" value="0" id="nbr_photo" />
</td>
<td>
<input type=hidden name=MAX_FILE_SIZE value=102400>
<input type="file" name="image_news" id="image_news" value="image_news" />
</td>
</tr>
<tr>
<td>
<span class="gras">News :</span>
</td>
<td>
<textarea name="texte_news" cols="50" rows="10"><?php if (isset($_POST['texte_news'])) echo htmlentities(trim($_POST['texte_news'])); ?></textarea>
</td>
</tr>
<tr>
<td>
<td align="right">
<input type="submit" name="go" value="Poster la news">
</td>
</tr>
</table>
</form>
<?php
// on affiche les erreurs éventuelles
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
</body>
</html>
Insertion de témoignages (ne marche pas)
<?php
ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL | E_STRICT);
print_r($_FILES);
if(!empty($_FILES))
{
$chemin_destination = 'sites/all/images/';
$dossier = 'sites/all/images/';
$fichier = basename($_FILES['image_tems']['name']);
$taille_maxi = 102400;
$taille = filesize($_FILES['image_tems']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['image_tems']['name'], '.');
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
$erreur = 'Vous devez uploader un fichier de type png, gif, jpg, ou jpeg';
}
if($taille>$taille_maxi)
{
$erreur = '<br /><br />Le fichier est trop lourd<br /><br />';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
//On formate le nom du fichier ici...
$fichier = strtr($fichier,
'ÀÁÂÃÄÅÇèéÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
if(move_uploaded_file($_FILES['image_tems']['tmp_name'], $dossier . time() . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné
{
echo '<br /><br />Upload effectué avec succès !<br /><br />';
}
else //Sinon (la fonction renvoie FALSE).
{
echo '<br /><br />Échec de l\'upload !<br /><br />';
}
}
else
{
echo $erreur;
}
// on teste si le formulaire a été validé
if (isset($_POST['go']) && $_POST['go']=='Poster le témoignage') {
// on se connecte à notre base
$base = mysql_connect ('***', '***', '***');
mysql_select_db('***', $base);
// on teste la déclaration de nos variables
if (!isset($_POST['auteur']) || !isset($_POST['texte_tems'])) {
$erreur = 'Les variables nécessaires au script ne sont pas définies.';
}
else {
if (empty($_POST['auteur']) || empty($_POST['texte_tems'])) {
$erreur = 'Au moins un des champs est vide.';
}
// si tout est bon, on peut commencer l'insertion dans la base
else {
// lancement de la requête d'insertion
$sql = 'INSERT INTO temoignages VALUES("", "'.mysql_escape_string($_POST['auteur']).'", "'.date("Y-m-d H:i:s").'", "'.mysql_escape_string($dossier . time() . $fichier).'", "'.mysql_escape_string($_POST['texte_tems']).'")';
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
echo $sql;
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
// on ferme la connexion à la base de données
mysql_close();
/* on redirige vers la page d'accueil du site (attention, cette redirection ne fonctionne qui si vous avez placé cette page dans un répertoire à partir de la racine du site). Si ce n'est pas le cas, veuillez entrer ici le bon chemin d'accès afin de retomber sur la page d'accueil du site.
header('Location: index.php'); */
// on termine le script courant
exit();
}
}
}
}
?>
<html>
<head>
<title>Insertion d'un nouveau témoignage</title>
</head>
<body>
<!-- on fait pointer le formulaire vers la page traitant les données -->
<form method="post" action="insert_tems.php" enctype="multipart/form-data">
<table>
<tr>
<td>
<span class="gras">Auteur :</span>
</td>
<td>
<input type="text" name="auteur" maxlength="100" size="30" value="<?php if (isset($_POST['auteur'])) echo htmlentities(trim($_POST['auteur'])); ?>">
</td>
</tr>
<tr>
<td>
<span class="gras">Image</span>
<input type="text" style="display:none" name="nbr_photo" value="0" id="nbr_photo" />
</td>
<td>
<input type=hidden name=MAX_FILE_SIZE value=102400>
<input type="file" name="image_tems" id="image_tems" value="image_tems" />
</td>
</tr>
<tr>
<td>
<span class="gras">Témoignage :</span>
</td>
<td>
<textarea name="texte_tems" cols="50" rows="10"><?php if (isset($_POST['texte_tems'])) echo htmlentities(trim($_POST['texte_tems'])); ?></textarea>
</td>
</tr>
<tr>
<td>
<td align="right">
<input type="submit" name="go" value="Poster le témoignage">
</td>
</tr>
</table>
</form>
<?php
// on affiche les erreurs éventuelles
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
</body>
</html>
Merci =)