par
tbakonadi » 09 févr. 2013, 17:05
Bonjour,
J'ai utilisé l'extension PHP UPLOAD avec dreamweaver 5.5 et le chargement de l'image fonctionne bien mais, je n'arrive pas à enregistrer (récupérer) la valeur du input file dans ma table et cela, sans retour d'erreur. En fait j'ai juste utilisé le comportement serveur que j'ai ajouté à mon formulaire et modifié de cette façon:
<?php
// ---------------------------------------------
// Pure PHP Upload version 1.1
// -------------------------------------------
if (phpversion() > "4.0.6") {
$HTTP_POST_FILES = &$_FILES;
}
define("MAX_SIZE",300000);
define("DESTINATION_FOLDER", "../upload");
define("no_error", "index.php");
define("yes_error", "erreur_img.php");
$_accepted_extensions_ = "jpg,bmp,gif,jpeg,png";
if(strlen($_accepted_extensions_) > 0){
$_accepted_extensions_ = @explode(",",$_accepted_extensions_);
} else {
$_accepted_extensions_ = array();
}
$_file_ = $HTTP_POST_FILES['news_image'];
if(is_uploaded_file($_file_['tmp_name']) && $HTTP_POST_FILES['news_image']['error'] == 0){
$errStr = "";
$news_image = $_POST['news_image'];
if((is_uploaded_file($_file_['tmp_name']) && $HTTP_POST_FILES['news_image']['error'] == 0)){
$_name_ = $_file_['name'];
$_type_ = $_file_['type'];
$_tmp_name_ = $_file_['tmp_name'];
$_size_ = $_file_['size'];
if($_size_ > MAX_SIZE && MAX_SIZE > 0){
$errStr = "Fichier trop lourd";
}
$_ext_ = explode(".", $_name_);
$_ext_ = strtolower($_ext_[count($_ext_)-1]);
if(!in_array($_ext_, $_accepted_extensions_) && count($_accepted_extensions_) > 0){
$errStr = "Extension non valide";
}
if(!is_dir(DESTINATION_FOLDER) && is_writeable(DESTINATION_FOLDER)){
$errStr = "Dossier de destination non valide";
}
if(empty($errStr)){
if(@copy($_tmp_name_,DESTINATION_FOLDER . "/" . $_name_)){
header("Location: " . no_error);
} else {
header("Location: " . yes_error);
}
} else {
header("Location: " . yes_error);
}
}
?>
<?php require_once('../Connections/ma_connexion.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "news_envoi")) {
$insertSQL = sprintf("INSERT INTO news (news_titre, news_image, news_texte, news_lien, news_etat) VALUES (%s, %s, %s, %s, %s)",
GetSQLValueString($_POST['news_titre'], "text"),
GetSQLValueString($_POST['news_image'], "text"),
GetSQLValueString($_POST['news_texte'], "text"),
GetSQLValueString($_POST['news_lien'], "text"),
GetSQLValueString(isset($_POST['news_etat']) ? "true" : "", "defined","1","0"));
mysql_select_db($database_ma_connexion, $ma_connexion);
$Result1 = mysql_query($insertSQL, $ma_connexion) or die(mysql_error());
$insertGoTo = "index.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
}
mysql_select_db($database_ma_connexion, $ma_connexion);
$query_news = "SELECT * FROM news ORDER BY news_date DESC";
$news = mysql_query($query_news, $ma_connexion) or die(mysql_error());
$row_news = mysql_fetch_assoc($news);
$totalRows_news = mysql_num_rows($news);
?>
Seul le chargement de l'image fonctionne. Je suis allé voir en ligne et suis tombé sur ce site. Je vous remercie de votre aide.
Bonjour,
J'ai utilisé l'extension PHP UPLOAD avec dreamweaver 5.5 et le chargement de l'image fonctionne bien mais, je n'arrive pas à enregistrer (récupérer) la valeur du input file dans ma table et cela, sans retour d'erreur. En fait j'ai juste utilisé le comportement serveur que j'ai ajouté à mon formulaire et modifié de cette façon:
[php]<?php
// ---------------------------------------------
// Pure PHP Upload version 1.1
// -------------------------------------------
if (phpversion() > "4.0.6") {
$HTTP_POST_FILES = &$_FILES;
}
define("MAX_SIZE",300000);
define("DESTINATION_FOLDER", "../upload");
define("no_error", "index.php");
define("yes_error", "erreur_img.php");
$_accepted_extensions_ = "jpg,bmp,gif,jpeg,png";
if(strlen($_accepted_extensions_) > 0){
$_accepted_extensions_ = @explode(",",$_accepted_extensions_);
} else {
$_accepted_extensions_ = array();
}
$_file_ = $HTTP_POST_FILES['news_image'];
if(is_uploaded_file($_file_['tmp_name']) && $HTTP_POST_FILES['news_image']['error'] == 0){
$errStr = "";
$news_image = $_POST['news_image'];
if((is_uploaded_file($_file_['tmp_name']) && $HTTP_POST_FILES['news_image']['error'] == 0)){
$_name_ = $_file_['name'];
$_type_ = $_file_['type'];
$_tmp_name_ = $_file_['tmp_name'];
$_size_ = $_file_['size'];
if($_size_ > MAX_SIZE && MAX_SIZE > 0){
$errStr = "Fichier trop lourd";
}
$_ext_ = explode(".", $_name_);
$_ext_ = strtolower($_ext_[count($_ext_)-1]);
if(!in_array($_ext_, $_accepted_extensions_) && count($_accepted_extensions_) > 0){
$errStr = "Extension non valide";
}
if(!is_dir(DESTINATION_FOLDER) && is_writeable(DESTINATION_FOLDER)){
$errStr = "Dossier de destination non valide";
}
if(empty($errStr)){
if(@copy($_tmp_name_,DESTINATION_FOLDER . "/" . $_name_)){
header("Location: " . no_error);
} else {
header("Location: " . yes_error);
}
} else {
header("Location: " . yes_error);
}
}
?>
<?php require_once('../Connections/ma_connexion.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "news_envoi")) {
$insertSQL = sprintf("INSERT INTO news (news_titre, news_image, news_texte, news_lien, news_etat) VALUES (%s, %s, %s, %s, %s)",
GetSQLValueString($_POST['news_titre'], "text"),
GetSQLValueString($_POST['news_image'], "text"),
GetSQLValueString($_POST['news_texte'], "text"),
GetSQLValueString($_POST['news_lien'], "text"),
GetSQLValueString(isset($_POST['news_etat']) ? "true" : "", "defined","1","0"));
mysql_select_db($database_ma_connexion, $ma_connexion);
$Result1 = mysql_query($insertSQL, $ma_connexion) or die(mysql_error());
$insertGoTo = "index.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
}
mysql_select_db($database_ma_connexion, $ma_connexion);
$query_news = "SELECT * FROM news ORDER BY news_date DESC";
$news = mysql_query($query_news, $ma_connexion) or die(mysql_error());
$row_news = mysql_fetch_assoc($news);
$totalRows_news = mysql_num_rows($news);
?>[/php]
Seul le chargement de l'image fonctionne. Je suis allé voir en ligne et suis tombé sur ce site. Je vous remercie de votre aide.