Carouge10,
il y a 5 ans
le nouveau, code je dois le deviner ?
Poste ton nouveau code pour voir si tu n'as pas fait d'erreur, merci.
Derkaoui Hassan,
il y a 5 ans
Je l'ai modifié sur le post en haut
Carouge10,
il y a 5 ans
Bonsoir,
1/ pas d'accents dans les noms de variables
2/ Actives les erreurs PDO (cf la doc)
3/ A quel moment fais-tu $photo = ? ( idem pour $marque, $prix, $immatriculation)
Derkaoui Hassan,
il y a 5 ans
J'ai pu modifiez certaines choses du code mais rien ne s'affiche.
Carouge10,
il y a 5 ans
nouveau code ?
qu'est ce que tu n'as pas fait dans ce que je t'ai demandé ?
Derkaoui Hassan,
il y a 5 ans
J'ai retiré l'accent, j'ai remis les variables au debut mais je n'arrive pas à activé les erreurs php
Carouge10,
il y a 5 ans
ah oui comme ça je passe pour un idiot, c'est gentil. Le fil de la conversation ne veux plus rien dire. Merci
On post le nouveau code dans un nouveau message, comme ça on peut suivre les modifications
$_POST['photo'] n'existe pas puisque l'input est de type file.
Donc $photo devrait correspondre à autre chose ($file_name, non ?)
Derkaoui Hassan,
il y a 5 ans
Autant pour moi c'est mon problème que je post sur un forum.
if (!empty($_FILES['photo']) && !empty($_POST['immatriculation']) && !empty($_POST['marque']) && !empty($_POST['prix'])) {
$immatriculation = $_POST['immatriculation'];
$marque = $_POST['marque'];
$prix = $_POST['prix'];
$photo = $_FILES['photo'];
$file_name = $_FILES['photo']['name'];
$file_extension = strchr($file_name, ".");
$file_tmp_name = $_FILES['photo']['tmp_name'];
$file_dest = 'files/' . $file_name;
$extensions_autorisees = array('jpg', 'jpeg', 'png');
if (in_array($file_extension, $extensions_autorisées)) {
if (move_uploaded_file($file_tmp_name, $file_dest)) {
$sql = 'INSERT INTO automobile(`Immatriculation`, `Marque`, `Prix`, `Photo`) VALUES(:marque, :immatriculation, :prix, :photo)';
if ($statement = $dbh->prepare($sql)) {
$statement->bindParam(':immatriculation', $immatriculation, PDO::PARAM_STR);
$statement->bindParam(':marque', $marque, PDO::PARAM_STR);
$statement->bindParam(':prix', $prix, PDO::PARAM_STR);
$statement->bindParam(':photo', $photo, PDO::PARAM_STR);
if ($statement->execute()) {
$message = 'données envoyées avec succés';
}
} else {
echo 'Une erreur est survenue lors de l\'envoie du fichier';
}
} else {
echo 'Seuls les fichiers jpg, jpeg et png sont autorisés';
}
}
}
j'ai remis $photo = $_FILES['photo']
Carouge10,
il y a 5 ans
et $_FILES['photo'], il vaut quoi ?
un petit var_dump($_FILES['photo'] ..... pour te donner une idée
As-tu activé les erreurs PDO (cf la doc de new PDO)
Derkaoui Hassan,
il y a 5 ans
j'ai ça comme résultat du dump:
array(5) { ["name"]=> string(10) "classA.jpg" ["type"]=> string(10) "image/jpeg" ["tmp_name"]=> string(14) "/tmp/phpq5UMyL" ["error"]=> int(0) ["size"]=> int(47856) }.
Mais je viens de remarquer que le var_dump ne fonctionne pas quand je rentre dans le second if.
Derkaoui Hassan,
il y a 5 ans
Carouge10,
il y a 5 ans
oui car tu n'as pas corrigés les accents dans les noms de variables
ensuite tu ne vas pas mettre un "array" dans $photo....
Derkaoui Hassan,
il y a 5 ans
if (!empty($_FILES['photo']) && !empty($_POST['immatriculation']) && !empty($_POST['marque']) && !empty($_POST['prix'])) {
$immatriculation = $_POST['immatriculation'];
$marque = $_POST['marque'];
$prix = $_POST['prix'];
$photo = $_FILES['photo'];
$file_name = $_FILES['photo']['name'];
$file_extension = strchr($file_name, ".");
$file_tmp_name = $_FILES['photo']['tmp_name'];
$file_dest = 'files/' . $file_name;
$extensions_autorisees = array('jpg', 'jpeg', 'png');
if (in_array($file_extension, $extensions_autorisees)) {
if (move_uploaded_file($file_tmp_name, $file_dest)) {
$sql = 'INSERT INTO automobile(`Immatriculation`, `Marque`, `Prix`, `Photo`) VALUES(:marque, :immatriculation, :prix, :photo)';
if ($statement = $dbh->prepare($sql)) {
$statement->bindParam(':immatriculation', $immatriculation, PDO::PARAM_STR);
$statement->bindParam(':marque', $marque, PDO::PARAM_STR);
$statement->bindParam(':prix', $prix, PDO::PARAM_STR);
$statement->bindParam(':photo', $photo, PDO::PARAM_STR);
if ($statement->execute()) {
$message = 'données envoyées avec succés';
}
} else {
echo 'Une erreur est survenue lors de l\'envoie du fichier';
}
} else {
echo 'Seuls les fichiers jpg, jpeg et png sont autorisés';
}
}else{
echo'faux';
}
}
je ne rentre pas dans la seconde condition
Carouge10,
il y a 5 ans
que dises les logs du serveur ?
Derkaoui Hassan,
il y a 5 ans
Merci de ton aide, je reprendrai mon code demain