begin process at 2012 05 31 02:43:37
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Problème sur l'upload d'image


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème sur l'upload d'image

mercredi 31 mars 2010 à 13:22:13 | Problème sur l'upload d'image

ren999

bonjour a tous je suis en train de créer mon site et j'ai l'intention d'utiliser la méthode forum pour créer les pages web tout marche bien sauf l'upload d'image je n'ai aucun problème apparent à par le fait que l'image n'apparait pas ni sur le topic ni dans le fichier upload sur mon serveur ftp


voila la page poster
<?php
//Cette fonction doit être appelée avant tout code html
session_start();
$balises = true;
//On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
$titre = "Poster";
include("includes/debut.php");
?>

<div id="corps">
<?php
//On se connecte
include("includes/identifiants.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);
//Qu'est ce qu'on veut faire ? poster, répondre ou éditer ?
$action = htmlspecialchars($_GET['action']);

//Si on veut poster un nouveau topic, la variable f se trouve dans l'url,
//On récupère certaines valeurs
if (isset($_GET['f']))
{
$forum = (int) $_GET['f'];
$requete1 = mysql_query('
SELECT forum_name, auth_view, auth_post, auth_topic, auth_annonce, auth_modo
FROM forum_forum
WHERE forum_id ="'.$forum.'"') or die(mysql_error());
$data1 = mysql_fetch_array($requete1);
?>

<p>
<a href ="./index.php">Index du forum</a> /
<a href="./voirforum.php?f=<?php echo ''.$forum.''; ?>"><?php echo stripslashes(htmlspecialchars($data1['forum_name'])); ?></a></p>

<?php
}

//Sinon c'est un nouveau message, on a la variable t et
//On récupère f grâce à une requête
elseif (isset($_GET['t']))
{
$topic = (int) $_GET['t'];
$requete1 = mysql_query('
SELECT topic_titre, forum_topic.forum_id,
forum_name, auth_view, auth_post, auth_topic, auth_annonce, auth_modo
FROM forum_topic
LEFT JOIN forum_forum ON forum_forum.forum_id = forum_topic.forum_id
WHERE topic_id ="'.$topic.'"')or die(mysql_error());
$data1 = mysql_fetch_array($requete1);
$forum = $data1['forum_id'];
?>

<p>
<a href ="./index.php">Index du forum</a> /
<a href="./voirforum.php?f=<?php echo $data1['forum_id'] ?>"><?php echo stripslashes(htmlspecialchars($data1['forum_name'])); ?></a> /
<a href="./voirtopic.php?t=<?php echo $topic ?>"><?php echo stripslashes(htmlspecialchars($data1['topic_titre'])); ?></a></p>
<?php
}

//Enfin sinon c'est au sujet de la modération(on verra plus tard en détail)
//On ne connait que le post, il faut chercher le reste
elseif (isset ($_GET['p']))
{
$post = (int) $_GET['p'];
$requete1 = mysql_query('
SELECT post_createur, forum_post.topic_id, topic_titre, forum_topic.forum_id,
forum_name, auth_view, auth_post, auth_topic, auth_annonce, auth_modo
FROM forum_post
LEFT JOIN forum_topic ON forum_topic.topic_id = forum_post.topic_id
LEFT JOIN forum_forum ON forum_forum.forum_id = forum_topic.forum_id
WHERE forum_post.post_id ="'.$post.'"')or die(mysql_error());
$data1 = mysql_fetch_array($requete1);
$topic = $data1['topic_id'];
$forum = $data1['forum_id'];
?>

<p><a href ="./index.php">Index du forum</a> /
<a href="./voirforum.php?f=<?php echo $forum ?>"><?php echo stripslashes(htmlspecialchars($data1['forum_name'])); ?></a> /
<a href="./voirtopic.php?t=<?php echo $topic ?>"><?php echo stripslashes(htmlspecialchars($data1['topic_titre'])); ?></a></p>
<?php
}


//Ici on s'intéresse au visiteur
if (isset($_SESSION['pseudo'])) // Si le membre est connecté
{

//Voici les options
echo'<p>Vous etes en train de poster un message</p>';

}

// Sinon l'accès à cette page est interdit ! ^^
else
{
echo 'Désole, vous devez etre enregistre pour poster</div></body></html>';
exit();
}
?>
<?php
switch($action)
{
case "repondre": //Premier cas : on souhaite répondre
//Ici, on affiche le formulaire de réponse
break;

case "nouveautopic": //Deuxième cas : on souhaite créer un nouveau topic
//Ici, on affiche le formulaire de nouveau topic
break;

default; //Si jamais c'est aucun de ceux-là, c'est qu'il y a eu un problème :o
echo'<h2>Cette action est impossible</h2>';

} //Fin du switch
?>
<?
switch($action)
{
case "repondre": //Premier cas on souhaite répondre
?>
<h1>Poster une réponse</h1>
<p>

<form method="post" action="postok.php?action=repondre&amp;t=<?php echo $topic ?>" name="formulaire" enctype="multipart/form-data">

<fieldset><legend>Mise en forme</legend>
<input type="button" id="gras" name="gras" value="Gras" onClick="javascript:bbcode('[g]', '[/g]');return(false)" />
<input type="button" id="italic" name="italic" value="Italic" onClick="javascript:bbcode('', '');return(false)" />
<input type="button" id="souligne" name="souligné" value="Souligné" onClick="javascript:bbcode('[s]', '[/s]');return(false)" />
<input type="button" id="lien" name="lien" value="Lien" onClick="javascript:bbcode('', '');return(false)" />
<br /><br />
<img src="./images/smileys/heureux.gif" title="heureux" alt="heureux" onClick="javascript:smilies(' :D ');return(false)" />
<img src="./images/smileys/lol.gif" title="lol" alt="lol" onClick="javascript:smilies(' :lol: ');return(false)" />
<img src="./images/smileys/triste.gif" title="triste" alt="triste" onClick="javascript:smilies(' :triste: ');return(false)" />
<img src="./images/smileys/cool.gif" title="cool" alt="cool" onClick="javascript:smilies(' :frime: ');return(false)" />
<img src="./images/smileys/rire.gif" title="rire" alt="rire" onClick="javascript:smilies(' XD ');return(false)" />
<img src="./images/smileys/confus.gif" title="confus" alt="confus" onClick="javascript:smilies(' :s ');return(false)" />
<img src="./images/smileys/choc.gif" title="choc" alt="choc" onClick="javascript:smilies(' :o ');return(false)" />
<img src="./images/smileys/question.gif" title="?" alt="?" onClick="javascript:smilies(' :interrogation: ');return(false)" />
<img src="./images/smileys/exclamation.gif" title="!" alt="!" onClick="javascript:smilies(' :exclamation: ');return(false)" />
</fieldset>

<fieldset><legend>Message</legend><textarea cols="80" rows="8" id="message" name="message"></textarea></fieldset><br />
<fieldset><legend>image </legend>

<label for="image">Veuillez poster une image pour le topic :</label><input type="file" name="image" id="image" />(Taille max : 100 ko)<br />
</fieldset>




<input type="submit" name="submit" value="Envoyer" />
<input type="reset" name = "Effacer" value = "Effacer"/>
</p></form>
<?php
break;

case "nouveautopic":
?>

<h1>Nouveau topic</h1>
<p>
<form method="post" action="postok.php?action=nouveautopic&amp;f=<?php echo $forum ?>" name="formulaire">

<fieldset><legend>Titre</legend>
<input type="text" size="80" id="titre" name="titre" /></fieldset>

<fieldset><legend>Mise en forme</legend>
<input type="button" id="gras" name="gras" value="Gras" onClick="javascript:bbcode('[g]', '[/g]');return(false)" />
<input type="button" id="italic" name="italic" value="Italic" onClick="javascript:bbcode('', '');return(false)" />
<input type="button" id="souligné" name="souligné" value="Souligné" onClick="javascript:bbcode('[s]', '[/s]');return(false)" />
<input type="button" id="lien" name="lien" value="Lien" onClick="javascript:bbcode('', '');return(false)" />
<br /><br />
<img src="./images/smileys/heureux.gif" title="heureux" alt="heureux" onClick="javascript:smilies(':D');return(false)" />
<img src="./images/smileys/lol.gif" title="lol" alt="lol" onClick="javascript:smilies(':lol:');return(false)" />
<img src="./images/smileys/triste.gif" title="triste" alt="triste" onClick="javascript:smilies(':triste:');return(false)" />
<img src="./images/smileys/cool.gif" title="cool" alt="cool" onClick="javascript:smilies(':frime:');return(false)" />
<img src="./images/smileys/rire.gif" title="rire" alt="rire" onClick="javascript:smilies('XD');return(false)" />
<img src="./images/smileys/confus.gif" title="confus" alt="confus" onClick="javascript:smilies(':s');return(false)" />
<img src="./images/smileys/choc.gif" title="choc" alt="choc" onClick="javascript:smilies(':O');return(false)" />
<img src="./images/smileys/question.gif" title="?" alt="?" onClick="javascript:smilies(':interrogation:');return(false)" />
<img src="./images/smileys/exclamation.gif" title="!" alt="!" onClick="javascript:smilies(':exclamation:');return(false)" /></fieldset>

<fieldset><legend>Message</legend>
<textarea cols="80" rows="8" id="message" name="message"></textarea>
<label><input type="radio" name="mess" value="Annonce" />Annonce</label>
<label><input type="radio" name="mess" value="Message" checked="checked" />Topic</label>
</fieldset>
<fieldset><legend>image </legend>

<label for="image">Veuillez poster une image pour le topic :</label><input type="file" name="image" id="image" />(Taille max : 100 ko)<br />
</fieldset>
</p>
<p>
<input type="submit" name="submit" value="Envoyer" />
<input type="reset" name = "Effacer" value = "Effacer" /></p>
</form>
<?php
break;

?>
<?php
default; //Si jamais c'est aucun de ceux là c'est qu'il y a eu un problème
echo'<p>Cette action est impossible</p>';
} //Fin du switch
mysql_close();
?>
</div>
</body>
</html>

et la page postok

<?php
//Cette fonction doit être appelée avant tout code html
session_start();

//On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
$titre = "Poster";
include("includes/debut.php");
?>

<div id="corps">


<?php
//Maintenant, on se connecte à la base de données
include("includes/identifiants.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);
//On récupère la valeur de la variable action
$action = htmlspecialchars($_GET['action']);

// Si le membre n'est pas connecté, il est arivé ici par erreur
if (!isset($_SESSION['pseudo']))
{
echo'<p>Erreur : Vous n êtes plus connecté</p>';
}
else //Sinon on lance la suite
{
?>
<?
$target = 'upload/'; // Repertoire cible
$extension = 'jpg'; // Extension du fichier sans le .
$max_size = 100000; // Taille max en octets du fichier
$width_max = 100; // Largeur max de l'image en pixels
$height_max = 100; // Hauteur max de l'image en pixels

// DEFINITION DES VARIABLES LIEES AU FICHIER

$nom_file = $_FILES['image']['name'];
$taille = $_FILES['image']['size'];
$tmp = $_FILES['image']['tmp_name'];

// SCRIPT D'UPLOAD
if(!empty($_POST['image'])) {
// On vérifie si le champ est rempli
if(!empty($_FILES['image']['name'])) {
// On vérifie l'extension du fichier
if(substr($nom_file, -3) == $extension) {
// On récupère les dimensions du fichier
$infos_img = getimagesize($_FILES['image']['tmp_name']);

// On vérifie les dimensions et taille de l'image
if(($infos_img[0] <= $width_max) && ($infos_img[1] <= $height_max) && ($_FILES['image']['size'] <= $max_size)) {
// Si c'est OK, on teste l'upload
if(move_uploaded_file($_FILES['image']['tmp_name'],$target.$_FILES['image']['name'])) {
// Si upload OK alors on affiche le message de réussite
echo '<b>Image uploadée avec succès !</b>';
echo '<hr />';
echo '<b>Fichier :</b> ', $_FILES['image']['name'], '<br />';
echo '<b>Taille :</b> ', $_FILES['image']['size'], ' Octets<br />';
echo '<b>Largeur :</b> ', $infos_img[0], ' px<br />';
echo '<b>Hauteur :</b> ', $infos_img[1], ' px<br />';
echo '<hr />';
echo '<br /><br />';
} else {
// Sinon on affiche une erreur système
echo '<b>Problème lors de l\'upload !</b><br /><br /><b>', $_FILES['image']['error'], '</b><br /><br />';
}
} else {
// Sinon on affiche une erreur pour les dimensions et taille de l'image
echo '<b>Problème dans les dimensions ou taille de l\'image !</b><br /><br />';
}
} else {
// Sinon on affiche une erreur pour l'extension
echo '<b>Votre image ne comporte pas l\'extension .jpg !</b><br /><br />';
}
} else {
// Sinon on affiche une erreur pour le champ vide
echo '<b>Le champ du formulaire est vide !</b><br /><br />';
}
}
?>
<?php
switch($action)
{
//Premier cas : nouveau topic
case "nouveautopic":
//On passe le message dans une série de fonction
$message = mysql_real_escape_string($_POST['message']);
$mess = mysql_real_escape_string($_POST['mess']);

//Pareil pour le titre
$titre = mysql_real_escape_string($_POST['titre']);

//ici seulement, maintenant qu'on est sur qu'elle existe, on récupère la valeur de la variable f
$forum = (int) $_GET['f'];
$temps = time();

if (empty($message) || empty($titre))
{
echo'<p>Votre message ou votre titre est vide, cliquez <a href="./poster.php?action=nouveautopic&amp;f='.$forum.'">ici</a> pour recommencer</p>';
}
else //Si jamais le message n'est pas vide
{
?>
<?php
//On entre le topic dans la base de donnée en laissant
//le champ topic_last_post à 0
mysql_query("INSERT INTO forum_topic
(forum_id, topic_titre, topic_createur, topic_vu, topic_time, topic_genre, topic_last_post, topic_post)
VALUES('".$forum."', '".$titre."', '".intval($_SESSION['id'])."', '1', '".$temps."','".$mess."', '0', '0' )")
or die ("Un problème est survenu lors de l'envoi du message");

$nouveautopic = mysql_insert_id();

//Puis on entre le message
mysql_query("INSERT INTO forum_post
(post_id, post_createur, post_texte, post_time, topic_id, post_forum_id)
VALUES(',' ,'".intval($_SESSION['id'])."', '".$message."', '".$temps."', '".$nouveautopic."', '".$forum."')")
or die ("Un problème est survenu lors de l'envoi du message");

$nouveaupost = mysql_insert_id();

//Ici on update comme prévu la valeur de topic_last_post et de topic_first_post
mysql_query("UPDATE forum_topic
SET topic_last_post = '".$nouveaupost."',
topic_first_post = '".$nouveaupost."'
WHERE topic_id = '".$nouveautopic."'")
or die ("Un problème est survenu lors de l'envoi du message");


//Enfin on met à jour les tables forum_forum et forum_membres
mysql_query("UPDATE forum_forum
SET forum_post = forum_post + 1 ,
forum_topic = forum_topic + 1,
forum_last_post_id = '".$nouveaupost."'
WHERE forum_id = '".$forum."'")
or die ("Un problème est survenu lors de l'envoi du message");

mysql_query("UPDATE forum_membres
SET membre_post = membre_post + 1
WHERE membre_id = '".intval($_SESSION['id'])."'")
or die ("Un problème est survenu lors de l'envoi du message");

//Et un petit message
echo'<p>Votre message a bien été ajouté!<br /><br />Cliquez <a href="./index.php">ici</a> pour revenir à l index du forum<br />Cliquez <a href="./voirtopic.php?t='.$nouveautopic.'">ici</a> pour le voir</p>';
}
break;
?>
<?php
//Deuxième cas : répondre
case "repondre":
//On passe le message dans une série de fonction
$message = mysql_real_escape_string($_POST['message']);


//ici seulement, maintenant qu'on est sur qu'elle existe, on récupère la valeur de la variable t
$topic = (int) $_GET['t'];
$temps = time();

if (empty($message))
{
echo'<p>Votre message est vide, cliquez <a href="./poster.php?action=repondre&amp;t='.$topic.'">ici</a> pour recommencer</p>';
}
else //Sinon, si le message n'est pas vide
{

//On récupère l'id du forum
$requete2 = mysql_query('SELECT forum_id, topic_post
FROM forum_topic
WHERE topic_id = "'.$topic.'"');

$data2= mysql_fetch_assoc($requete2) or die ("Une erreur semble être survenue lors de l'envoi du message");
$forum = $data2['forum_id'];

//Puis on entre le message
mysql_query("INSERT INTO forum_post
(post_id, post_createur, post_texte, post_time, topic_id, post_forum_id)
VALUES(',' ,'".intval($_SESSION['id'])."', '".$message."', '".$temps."', '".$topic."', '".$forum."')")
or die ("Une erreur semble avoir survenu lors de l'envoi du message");

$nouveaupost = mysql_insert_id();

//On change un peu la table forum_topic
mysql_query("UPDATE forum_topic
SET topic_post = topic_post + 1,
topic_last_post = '".$nouveaupost."'
WHERE topic_id ='".$topic."'")
or die ("Une erreur semble avoir survenu lors de l'envoi du message");

//Puis même combat sur les 2 autres tables
mysql_query("UPDATE forum_forum
SET forum_post = forum_post + 1 ,
forum_last_post_id = '".$nouveaupost."'
WHERE forum_id = '".$forum."'")
or die ("Une erreur semble avoir survenu lors de l'envoi du message");

mysql_query("UPDATE forum_membres
SET membre_post = membre_post + 1
WHERE membre_id = '".intval($_SESSION['id'])."'")
or die ("Une erreur semble avoir survenu lors de l'envoi du message");

//Et un petit message
$nombreDeMessagesParPage = 15;
$nbr_post = $data2['topic_post']+1;
$page = ceil($nbr_post / $nombreDeMessagesParPage);
echo'<p>Votre message a bien été ajouté!<br /><br />
Cliquez <a href="./index.php">ici</a> pour revenir à l index du forum<br />
Cliquez <a href="./voirtopic.php?t='.$topic.'&amp;page='.$page.'#p_'.$nouveaupost.'">ici</a> pour le voir</p>';
}
break;
?>
<?
default;
echo'<p>Cette action est impossible</p>';
} //Fin du Switch
} //Fin du else, le membre est connecté

mysql_close();
?>

</div>
</body>
</html>


Cette discussion est classée dans : message, image, forum, post, topic


Répondre à ce message

Sujets en rapport avec ce message

oh misére o desespoir , bleme de requette [ par CCJ ] bonjour alors que j'etait sur le point de finir le forum sur mon site , un bleme aparut. voici mon code: session_start(); if(isset($_SESSION['Pseudo' Parse error [ par CCJ ] bonjour voila mon code : if (isset($_POST['pseudo']) AND isset($_POST['message'])) // Si les variables existent {     if ($_POST['pseudo'] != NULL AN probleme creation de forum [ par ghyslain ] j'essais donc de faire un forum facon phpbb mais tout seul, j'arrive a afficher tout les message qui sont dans la base de donnée, maintenant je veux p Envoi ftp - données base64 [ par franchu23 ] Salut, Mon fichier php reçoit les données pour afficher une image jpeg de la manière suivante : header('Content-type: image/jpeg'); header('Co contact via formailre mail (ne passe pas) [ par speedylol ] bonjour j'ai un petit soucis avec mon formailare de contact pat mail , il ne passe pas je reviens toujours a la case réessayez seriez vous m'aider svp Forum nouveau sujet/message vue [ par sk8er_ouf ] Voila expliquer moi le principe comme dans phpbb qui permet à chaque visiteur de voir les nouveau sujet depuis leur derniere visite ? je penses prendr erreur de mail en php [ par vincent2508 ] bonjour à tous je vous fait parvenir le code de traitement.php (feuill Probleme de code Php dans ma page lors de visualisation [ par brute ] Bonjour,J'ai un probleme sur une page, le code php apparait en dur lors de la visualisation de la page.Le texte suivant apparait :Votre email doit com Requete qui ne s'exécute pas toujours ??? [ par b4d ] Bonjour tout le monde,J'ai besoin de votre aide pour me dire ou est le bug dans ce code...J'ai créé un petit forum et donc, une sorte de petit bbcode. Erreur dans un script de formulaire [ par Sven78 ] Bonjour à toutes et à tous Google m'a conduit ici quand je lui ai demandé de l'aide sur la fonction $_POST qui semble me poser problème À la base c'e


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,872 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales