par
cindy381 » 15 juin 2014, 10:55
Après avoir suivi ton tuto qui est d'ailleur plus complet que celui de openclassroom.
J'ai une petite erreur qui est :
Notice: Array to string conversion in /home/users6/l/lasortie/www/mon_profil_client.php on line 213
PHP:
// code .....
$dossier = 'img/annonce/';
$fichier = basename($_FILES['photo']['name']);
$taille_maxi = 200000;
$taille = filesize($_FILES['photo']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['photo']['name'], '.');
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
$erreur = 'Veuillez vérifier que le format de votre photo soit de type png, gif, jpg, jpeg, ';
}
if($taille>$taille_maxi)
{
$erreur = 'Le fichier est trop gros...';
}
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['photo']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
echo 'Téléchargement effectué avec succès !';
}
else //Sinon (la fonction renvoie FALSE).
{
echo 'Echec du téléchargement !';
}
}
else
{
echo $erreur;
}
$req = $bdd->prepare('INSERT INTO loisirs ( id_departements, id_type_loisirs, photo, titre, sous_titre, date_debut_sortie, date_fin_sortie, description, phone, email, website, street, postcode, city, price)
VALUES (:id_departements, :id_type_loisirs, :photo, :titre,
:sous_titre, :date_debut_sortie, :date_fin_sortie, :description,
:phone, :email, :website, :street, :postcode, :city, :price )');
$retour= $req->execute(array(
'id_departements'=>$_POST['departements'],
'id_type_loisirs'=>$_POST['type_loisirs'],
'photo'=>$_FILES['photo'],
'titre'=>$_POST['titre'],
'sous_titre'=>$_POST['sous_titre'],
'date_debut_sortie'=>$date_debut,
'date_fin_sortie'=>$date_fin,
'description'=>$_POST['description'],
'phone'=>$_POST['phone'],
'email'=>$_POST['email'],
'website'=>$_POST['website'],
'street'=>$_POST['street'],
'postcode'=>$_POST['postcode'],
'city'=>$_POST['city'],
'price'=>$_POST['price']
));
if( $retour ===false) echo "Problème lors de l'insertion";
}else{//le tableau ne contient
echo "<p> renseignez les champs vides</p>";
}
// code .....
Le formulaire:
<form action="mon_profil_client.php" method="post" enctype="multipart/form-data" onSubmit="return(VerifForm(this))">
<label>Photo</label>
<input name="photo" type="file"/>
<input class="btn-u" type="submit" value="ENVOYER">
</form>
Après avoir suivi ton tuto qui est d'ailleur plus complet que celui de openclassroom.
J'ai une petite erreur qui est :
[b]Notice: Array to string conversion in /home/users6/l/lasortie/www/mon_profil_client.php on line 213[/b]
PHP:
[php]
// code .....
$dossier = 'img/annonce/';
$fichier = basename($_FILES['photo']['name']);
$taille_maxi = 200000;
$taille = filesize($_FILES['photo']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['photo']['name'], '.');
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
$erreur = 'Veuillez vérifier que le format de votre photo soit de type png, gif, jpg, jpeg, ';
}
if($taille>$taille_maxi)
{
$erreur = 'Le fichier est trop gros...';
}
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['photo']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
echo 'Téléchargement effectué avec succès !';
}
else //Sinon (la fonction renvoie FALSE).
{
echo 'Echec du téléchargement !';
}
}
else
{
echo $erreur;
}
$req = $bdd->prepare('INSERT INTO loisirs ( id_departements, id_type_loisirs, photo, titre, sous_titre, date_debut_sortie, date_fin_sortie, description, phone, email, website, street, postcode, city, price)
VALUES (:id_departements, :id_type_loisirs, :photo, :titre,
:sous_titre, :date_debut_sortie, :date_fin_sortie, :description,
:phone, :email, :website, :street, :postcode, :city, :price )');
$retour= $req->execute(array(
'id_departements'=>$_POST['departements'],
'id_type_loisirs'=>$_POST['type_loisirs'],
'photo'=>$_FILES['photo'],
'titre'=>$_POST['titre'],
'sous_titre'=>$_POST['sous_titre'],
'date_debut_sortie'=>$date_debut,
'date_fin_sortie'=>$date_fin,
'description'=>$_POST['description'],
'phone'=>$_POST['phone'],
'email'=>$_POST['email'],
'website'=>$_POST['website'],
'street'=>$_POST['street'],
'postcode'=>$_POST['postcode'],
'city'=>$_POST['city'],
'price'=>$_POST['price']
));
if( $retour ===false) echo "Problème lors de l'insertion";
}else{//le tableau ne contient
echo "<p> renseignez les champs vides</p>";
}
// code .....
[/php]
[b]Le formulaire:[/b]
[html]
<form action="mon_profil_client.php" method="post" enctype="multipart/form-data" onSubmit="return(VerifForm(this))">
<label>Photo</label>
<input name="photo" type="file"/>
<input class="btn-u" type="submit" value="ENVOYER">
</form>
[/html]