Effectivement c'etait le desc mais lorsque je rempli tout les champs rien ne s'affiche .. aucun message d'erreur rien du tout .. pourtant tout les if ont des else
Merci
<?php
function up_error($code,$nom) {
switch ($code) {
case UPLOAD_ERR_OK : $erreur = 'Pas d\'erreur';$valid = true;break;
case UPLOAD_ERR_INI_SIZE : $erreur = 'Votre fichier `'.$nom.'` dépasse la taille maximale d\'upload autorisée par PHP( '.get_cfg_var('upload_max_filesize').' )';$valid = false;break;
case UPLOAD_ERR_FORM_SIZE : $erreur = 'Votre fichier dépasse la taille maximale demandée par le Webmestre';$valid = false;break;
case UPLOAD_ERR_PARTIAL : $erreur = 'Le fichier n\'a été que partiellement téléchargé. !!!';$valid = false;break;
case UPLOAD_ERR_NO_FILE : $erreur = 'Aucun fichier téléchargé !!!';$valid = false;break;
case UPLOAD_ERR_NO_TMP_DIR : $erreur = 'Un dossier temporaire est manquant.'
case UPLOAD_ERR_CANT_WRITE : $erreur = 'Échec de l\'écriture du fichier sur le disque.'
case UPLOAD_ERR_EXTENSION : $erreur = 'Une extension PHP a arrété l\'envoi de fichier. PHP ne propose aucun moyen de déterminer quelle extension est en cause. L\'examen du phpinfo() peut aider.';
default : $erreur = 'L\'upload a rencontré une erreur inconnue !!!';$valid = false; break;
}
$return[] = $valid;
$return[] = $erreur;
return $return;
}
?>
Tu pourra y voir, par exemple, les erreurs pour fichier trop gros. 

CREATE TABLE jeux_desc(
id int(11) Auto_increment NOT NULL ,
nom Varchar (40) NOT NULL ,
sortie_fr Date NOT NULL ,
image Varchar (150) NOT NULL ,
description Text NOT NULL ,
commentaire Varchar (250) NOT NULL ,
idSupport_support Int NOT NULL ,
idClassification_Classification Int NOT NULL ,
idType_type Int NOT NULL ,
idDev_developpeur Int NOT NULL ,
PRIMARY KEY (id)
)ENGINE=InnoDB;
CREATE TABLE developpeur(
idDev int(11) Auto_increment NOT NULL ,
nom Varchar (40) NOT NULL ,
PRIMARY KEY (idDev)
)ENGINE=InnoDB;
CREATE TABLE type(
idType int(11) Auto_increment NOT NULL ,
nomType Varchar (25) NOT NULL ,
PRIMARY KEY (idType)
)ENGINE=InnoDB;
DROP TABLE IF EXISTS support;
CREATE TABLE support(
idSupport int(11) Auto_increment NOT NULL ,
nomSupport Varchar (25) NOT NULL ,
PRIMARY KEY (idSupport)
)ENGINE=InnoDB;
CREATE TABLE Classification(
idClassification int(11) Auto_increment NOT NULL ,
nom Varchar (25) NOT NULL ,
description Varchar (50) NOT NULL ,
PRIMARY KEY (idClassification)
)ENGINE=InnoDB;
ALTER TABLE jeux_desc ADD CONSTRAINT FK_jeux_desc_idSupport_support FOREIGN KEY (idSupport_support) REFERENCES support(idSupport)
ALTER TABLE jeux_desc ADD CONSTRAINT FK_jeux_desc_idClassification_Classification FOREIGN KEY (idClassification_Classification) REFERENCES Classification(idClassification)
ALTER TABLE jeux_desc ADD CONSTRAINT FK_jeux_desc_idType_type FOREIGN KEY (idType_type) REFERENCES type(idType)
ALTER TABLE jeux_desc ADD CONSTRAINT FK_jeux_desc_idDev_developpeur FOREIGN KEY (idDev_developpeur) REFERENCES developpeur(idDev)
Tu génère les select à partir de la base de données. dans les values des options tu met les clef primaire (id) et en label les nom / descriptionALTER TABLE jeux_desc ADD CONSTRAINT FK_jeux_desc_idSupport_support FOREIGN KEY (idSupport_support) REFERENCES support(idSupport);
ALTER TABLE jeux_desc ADD CONSTRAINT FK_jeux_desc_idClassification_Classification FOREIGN KEY (idClassification_Classification) REFERENCES Classification(idClassification);
ALTER TABLE jeux_desc ADD CONSTRAINT FK_jeux_desc_idType_type FOREIGN KEY (idType_type) REFERENCES type(idType);
ALTER TABLE jeux_desc ADD CONSTRAINT FK_jeux_desc_idDev_developpeur FOREIGN KEY (idDev_developpeur) REFERENCES developpeur(idDev);
Je doit la rajouter dans la base ?! <?php
define ( 'ROOT', '../' );
$dossierImages = ROOT . 'img/images-slider/';
require ('config/config.php');
require ('SBImage.php');
require ('top_page.php');
if (! empty ( $_POST )) {
if (! empty ( $_POST ['nom'] ) && ! empty ( $_POST ['developpeur'] ) && ! empty ( $_POST ['desc'] ) && ! empty ( $_POST ['annee'] ) && ! empty ( $_POST ['mois'] ) && ! empty ( $_POST ['jour'] )) {
$connect = mysql_connect ( MYHOST, MYUSER, MYPASS ) or die ( '<p class="alert_error">Identifiants incorrects<br />' . mysql_error () .'</p>');
mysql_select_db ( MYDB ) or die ( '<p class="alert_error">Base de données incorrecte<br />' . mysql_error () .'</p>' );
if (isset ( $_FILES ['image'] )) {
if (verifieTypeMime ( $_FILES ['image'] ['type'] )) {
$fichier = $dossierImages . $_FILES ['image'] ['name'];
if (move_uploaded_file ( $_FILES ['image'] ['tmp_name'], $fichier )) {
SBImage::resize ( $fichier, 210, 160, true );
$bonnedate = $_POST ['annee'] . '-' . $_POST ['mois'] . '-' . $_POST ['jour'];
$reqFile = $_FILES ["image"] ["name"];
$requete = "INSERT INTO jeux_desc(nom,developpeur,type,sortie_fr,support,classification,image,description)
VALUES('" . mysql_real_escape_string($_POST ['nom']) . "',
'" . mysql_real_escape_string($_POST ['developpeur']) . "',
'" . mysql_real_escape_string($_POST ['type']) . "',
'" . mysql_real_escape_string($bonnedate) . "',
'" . mysql_real_escape_string($_POST ['support']) . "',
'" . mysql_real_escape_string($_POST ['class']) . "',
'" . mysql_real_escape_string($reqFile) . "',
'" . mysql_real_escape_string($_POST ['desc']) . "')";
$ret = mysql_query ( $requete );
if ($ret === false) {
$erreur = 'Erreur SQL : <br />' . mysql_error () . '';
}
else {
$super = 'Ajout du jeux réalisé avec succès';
}
} else {
$erreur = 'Erreur au déplacement de l\'image';
function up_error($code,$nom) {
switch ($code) {
case UPLOAD_ERR_OK : $erreur = 'Pas d\'erreur';$valid = true;break;
case UPLOAD_ERR_INI_SIZE : $erreur = 'Votre fichier `'.$nom.'` dépasse la taille maximale d\'upload autorisée par PHP( '.get_cfg_var('upload_max_filesize').' )';$valid = false;break;
case UPLOAD_ERR_FORM_SIZE : $erreur = 'Votre fichier dépasse la taille maximale demandée par le Webmestre';$valid = false;break;
case UPLOAD_ERR_PARTIAL : $erreur = 'Le fichier n\'a été que partiellement téléchargé. !!!';$valid = false;break;
case UPLOAD_ERR_NO_FILE : $erreur = 'Aucun fichier téléchargé !!!';$valid = false;break;
case UPLOAD_ERR_NO_TMP_DIR : $erreur = 'Un dossier temporaire est manquant.';
case UPLOAD_ERR_CANT_WRITE : $erreur = 'Échec de l\'écriture du fichier sur le disque.';
case UPLOAD_ERR_EXTENSION : $erreur = 'Une extension PHP a arrété l\'envoi de fichier. PHP ne propose aucun moyen de déterminer quelle extension est en cause. L\'examen du phpinfo() peut aider.';
default : $erreur = 'L\'upload a rencontré une erreur inconnue !!!';$valid = false; break;
}
$return[] = $valid;
$return[] = $erreur;
return $return;
}
}
} else {
$erreur = 'Type de fichier non pris en charge (mettre les fichier acceptés)';
;
}
}
else {
$erreur = 'Image obligatoire !';
}
mysql_close ();
}
else {
$erreur = 'Formulaire corrompu merci de bien vouloir recommencer';
}
}
?>
il s'agit d'une option de mysql et non quelque chose de normé, donc à ne pas utiliser si tu compte changer de sgbd un jourUn dernier truc tu entend quoi par : "j'utilise plutot un int unsigned"
Taille des entiersTous les types entiers ont un attribut optionnel (non-standard) UNSIGNED (non-signé, en fran¸ais). Les valeurs non-signées peuvent être utilisées pour n'autoriser que des valeurs positives dans une colonne, ou bien pour exploiter un intervalle de validité plus haut.
....
Lorsque MySQL doit stocker une valeur qui est hors de l'intervalle de validité d'une colonne, il ramène la valeur à la plus proche possible, et stocke cette valeur. Par exemple, l'intervalle de validité d'une colonne d'entiers INT va de -2147483648 à 2147483647. Si vous essayez d'insérer -9999999999 dans une colonne de ce type, la valeur sera ramenée à la plus proche possible, c'est à dire -2147483648. De même, si vous essayez d'insérer 9999999999, 2147483647 sera stocké à la place.
Si la colonne INT possède l'attribut UNSIGNED, l'intervalle de validité est aussi large, mais les valeurs extrêmes se décalent vers 0 et 4294967295. Si vous essayez de stocker -9999999999 et 9999999999 dans cette colonne, vous obtiendrez respectivement 0 et 4294967296.
Pas forcémentBonh j'imagine que apres niveau php se serra bien plus complexe ensuite avec ce systeme mais tant mieux j'apprendrai *o*
<?php
// je te laisse faire la connexion au sgbd tu sais faire
$sql = 'select * from type';
$ret = mysql_query($sql);
if ($ret === false)
echo '<p class="alert_error">Erreur SQL : <br />' . mysql_error () . '</p>';
else {
echo '<select name="type">'."\n";
while($data = mysql_fetch_assoc($ret)) {
echo '<option value="'.$data['idType'].'">'.$data['nomtype'].'</option>'."\n";
}
mysql_free_result($ret);
echo '</select>';
}
?>
idem pour les autres. c'est juste une remarque, suivant ton cahier des charges ce champs peu être cohérentUn dernier truc-bis : le champ " commentaire" a vrai dire ne me servira pas tant que ca je l'ai ajoutée juste au cas ou mais je prefere l'enlever ... sa prend de la place pour rien ;D
<?php
$v = up_error($_FILES['image']['error'], 'le nom du champ file');
if ($v[0] === true) {
// le code de copie, de redimensionnement et d'insertion dans la db
}
else {
// à bah non boulette echo $v[1];
}
?>
si tu veux que ton code soit plus lisible, je te conseil de créer des fonctions pour la génération des select histoire de pas avoir des pâtés de code partout. une fonction générique qui prend en paramètre le nom du select et un table de donnée avec des index précis, comme $data['value'] et $data['label'] par exemple. il te faut aussi prévoir de normaliser ou les requete ou les données, les requêtes c'est le plus simple. pour cela utilise un alias sur les colonnes (as) select idType as value, nomtype as label from type;
un mysl_fetch_assoc pour avoir les résultat et tu passe la chose à la fonction (attention, soit tu passe un jeux de résultat, doit tu passe un tableau et la tu est "universel"). $reqFile = $_FILES ["image"] ["name"];
$requete = "INSERT INTO jeux_desc(nom,developpeur,type,sortie_fr,support,classification,image,description)
VALUES('" . mysql_real_escape_string($_POST ['nom']) . "',
'" . mysql_real_escape_string($bonnedate) . "',
'" . mysql_real_escape_string($reqFile) . "',
'" . mysql_real_escape_string($_POST ['desc']) . "',
'" . mysql_real_escape_string($_POST ['developpeur']) . "')";
Tu pourrais m'aider ou me donner un exemple se serai parfait !! ;D $req_dev = "INSERT INTO developpeur(nom)
VALUES('" . mysql_real_escape_string($_POST ['developpeur']) . "')";
$req_dev_ret = mysql_query ( $req_dev );
$ID_dev = mysql_insert_id();
$req_sup = "INSERT INTO support(nom)
VALUES('" . mysql_real_escape_string($_POST ['support']) . "')";
$req_sup_ret = mysql_query ( $req_sup );
$ID_sup = mysql_insert_id();
$req_type = "INSERT INTO type(nom)
VALUES('" . mysql_real_escape_string($_POST ['type']) . "')";
$req_type_ret = mysql_query ( $req_type );
$ID_type = mysql_insert_id();
$req_class = "INSERT INTO Classification(nom,description)
VALUES('" . mysql_real_escape_string($_POST ['class']) . "','" . mysql_real_escape_string($_POST ['class']) . "')";
$req_class_ret = mysql_query ( $req_class );
$ID_class = mysql_insert_id();
$requete = "INSERT INTO jeux_desc(nom,sortie_fr,image,description,idSupport_support,idClassification_Classification,idType_type,idDev_developpeur)
VALUES('" . mysql_real_escape_string($_POST ['nom']) . "',
'" . mysql_real_escape_string($bonnedate) . "',
'" . mysql_real_escape_string($reqFile) . "',
'" . mysql_real_escape_string($_POST ['desc']) . "',
'" . mysql_real_escape_string($ID_sup) . "',
'" . mysql_real_escape_string($ID_class) . "',
'" . mysql_real_escape_string($ID_type) . "',
'" . mysql_real_escape_string($ID_dev) . "',
)";
$ret = mysql_query ( $requete );
<?php
/************************************************************
* Definition des constantes / tableaux et variables
*************************************************************/
// Constantes
define ( 'ROOT', '../' );
$dossierImages = 'img/images-slider/';
require ('config/config.php');
require ('top_page.php');
define('TARGET', $dossierImages); // Repertoire cible
define('MAX_SIZE', 100000); // Taille max en octets du fichier
define('WIDTH_MAX', 800); // Largeur max de l'image en pixels
define('HEIGHT_MAX', 800); // Hauteur max de l'image en pixels
// Tableaux de donnees
$tabExt = array('jpg','gif','png','jpeg'); // Extensions autorisees
$infosImg = array();
// Variables
$extension = '';
$message = '';
$nomImage = '';
/************************************************************
* Creation du repertoire cible si inexistant
*************************************************************/
if( !is_dir(TARGET) ) {
if( !mkdir(TARGET, 0755) ) {
exit('Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !');
}
}
/************************************************************
* Script d'upload
*************************************************************/
if (! empty ( $_POST ['nom'] ) && ! empty ( $_POST ['developpeur'] ) && ! empty ( $_POST ['desc'] ) && ! empty ( $_POST ['annee'] ) && ! empty ( $_POST ['mois'] ) && ! empty ( $_POST ['jour'] )) {
// On verifie si le champ est rempli
if( !empty($_FILES['image']['name']) )
{
// Recuperation de l'extension du fichier
$extension = pathinfo($_FILES['image']['name'], PATHINFO_EXTENSION);
// On verifie l'extension du fichier
if(in_array(strtolower($extension),$tabExt))
{
// On recupere les dimensions du fichier
$infosImg = getimagesize($_FILES['image']['tmp_name']);
// On verifie le type de l'image
if($infosImg[2] >= 1 && $infosImg[2] <= 14)
{
// On verifie les dimensions et taille de l'image
if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['fichier']['tmp_name']) <= MAX_SIZE))
{
// Parcours du tableau d'erreurs
if(isset($_FILES['image']['error'])
&& UPLOAD_ERR_OK === $_FILES['image']['error'])
{
// On renomme le fichier
$nomImage = md5(uniqid()) .'.'. $extension;
// Si c'est OK, on teste l'upload
if(move_uploaded_file($_FILES['image']['tmp_name'], TARGET.$nomImage))
{
$connect = mysql_connect ( MYHOST, MYUSER, MYPASS ) or die ( '<p class="alert_error">Identifiants incorrects<br />' . mysql_error () .'</p>');
mysql_select_db ( MYDB ) or die ( '<p class="alert_error">Base de données incorrecte<br />' . mysql_error () .'</p>' );
$bonnedate = $_POST ['annee'] . '-' . $_POST ['mois'] . '-' . $_POST ['jour'];
$reqFile = $_FILES['image']['tmp_name'];
$req_dev = "INSERT INTO developpeur(nom)
VALUES('" . mysql_real_escape_string($_POST ['developpeur']) . "')";
$req_dev_ret = mysql_query ( $req_dev );
$ID_dev = mysql_insert_id();
$req_sup = "INSERT INTO support(nomSupport)
VALUES('" . mysql_real_escape_string($_POST ['support']) . "')";
$req_sup_ret = mysql_query ( $req_sup );
$ID_sup = mysql_insert_id();
$req_type = "INSERT INTO type(nomType)
VALUES('" . mysql_real_escape_string($_POST ['type']) . "')";
$req_type_ret = mysql_query ( $req_type );
$ID_type = mysql_insert_id();
$req_class = "INSERT INTO Classification(nom,description)
VALUES('" . mysql_real_escape_string($_POST ['class']) . "','" . mysql_real_escape_string($_POST ['class']) . "')";
$req_class_ret = mysql_query ( $req_class );
$ID_class = mysql_insert_id();
$requete = "INSERT INTO jeux_desc(nom,sortie_fr,image,description,idSupport_support,idClassification_Classification,idType_type,idDev_developpeur)
VALUES('" . mysql_real_escape_string($_POST ['nom']) . "',
'" . mysql_real_escape_string($bonnedate) . "',
'" . mysql_real_escape_string($reqFile) . "',
'" . mysql_real_escape_string($_POST ['desc']) . "',
'" . mysql_real_escape_string($ID_sup) . "',
'" . mysql_real_escape_string($ID_class) . "',
'" . mysql_real_escape_string($ID_type) . "',
'" . mysql_real_escape_string($ID_dev) . "'
)";
$ret = mysql_query ( $requete );
$super = 'Jeux ajoutée avec succées !';
}
else
{
// Sinon on affiche une erreur systeme
$message = 'Problème lors de l\'upload !';
}
}
else
{
$message = 'Une erreur interne a empêché l\'uplaod de l\'image';
}
}
else
{
// Sinon erreur sur les dimensions et taille de l'image
$message = 'Erreur dans les dimensions de l\'image !';
}
}
else
{
// Sinon erreur sur le type de l'image
$message = 'Le fichier à uploader n\'est pas une image !';
}
}
else
{
// Sinon on affiche une erreur pour l'extension
$message = 'L\'extension du fichier est incorrecte !';
}
}
else
{
// Sinon on affiche une erreur pour le champ vide
$message = 'Veuillez remplir le formulaire svp !';
}
}
?>
Nope, il ne peut pas, vu qu'il n'était pas authentifié pour son premier post... donc je l'ai fait pour luiSi le sujet est résolu peux tu cliquer sur le (gros) bouton résolu en haut![]()