Upload en php ajax instantanément
uahinsi
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
bonjour. j'ai un problème dont après plusieurs recherche j'ai plus le choix que vous.
je veut uploader un fichier type='file' et l'enregistrer dans un dossier et dans une bdd avec son textarea et d'autres information sur la personne qui a publier. je veut le faire instantanément sans recharger ma page web donc ajax est le mieux placer pour ça,
si je le fait sans ajax tout marche bien mais si je le fait avec ajax rien ne marche ni dans la bdd ni dans le dossier d'image. pourtant j'ai besoin d'ajax pour ne pas recharger ma page.
publication.php:
publication_add.php
EDIT : Ajout des balises de code
je veut uploader un fichier type='file' et l'enregistrer dans un dossier et dans une bdd avec son textarea et d'autres information sur la personne qui a publier. je veut le faire instantanément sans recharger ma page web donc ajax est le mieux placer pour ça,
si je le fait sans ajax tout marche bien mais si je le fait avec ajax rien ne marche ni dans la bdd ni dans le dossier d'image. pourtant j'ai besoin d'ajax pour ne pas recharger ma page.
publication.php:
<form method="post" action="" id="pub_form" enctype="multipart/form-data"> <input type="file" name="photo_pub" id="photo_pub"> <textarea rows="15" id="legend_photo_video" name="legend_photo_video"></textarea> <input type="submit" name="submit" id="submit" value="Publier"> </form> <div id="pub_message"></div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script> $(document).ready(function(){ $('#pub_form').on('submit', function(event){ event.preventDefault(); var form_data = $(this).serialize(); $.ajax({ url : "publication_add.php", method : "POST", data : form_data, dataType : "JSON", success : function(data) { if (data.error != '') { $('#pub_form')[0].reset(); $('#pub_message').html(data.error); load_comment(); } } }) }); }); </script>
publication_add.php
<?php if (session_status() == PHP_SESSION_NONE) { session_start(); } require_once'inc/functions.php'; $pdo = new PDO('mysql:host=localhost;dbname=comment', 'root', ''); if (isset($_SESSION['auth']->id_user) AND $_SESSION['auth']->id_user > 0) { $iduser = intval($_SESSION['auth']->id_user);//on a creer a variable pour l'id de l'utilisateur $req = $pdo->prepare('SELECT id_user, nom_user, prenom_user, domaine_user, avatar_user FROM users WHERE id_user = ?'); $req->execute(array($iduser)); $infouser = $req->fetch(); $error = ''; if (isset($_FILES['photo_pub'])){ $legend_photo = htmlspecialchars($_POST['legend_photo_video']); $taillephotomax = 2000000; $extensionphotovalide = array('png', 'jpg', 'jpeg', 'gif', 'ico', 'bmp', 'tiff', 'tif', 'svg'); if ($_FILES['photo_pub']['size'] <=$taillephotomax) { $extensionphotoupload = strtolower(substr(strrchr($_FILES['photo_pub']['name'], '.'), 1)); $cheminphoto = "image/photovideopublier/" .$_SESSION['auth']->id_user."_photo".$infouser->nom_user."." .$extensionphotoupload; $resultatphoto = move_uploaded_file($_FILES['photo_pub']['tmp_name'], $cheminphoto); if (in_array($extensionphotoupload, $extensionphotovalide)) { $req = $pdo->prepare('INSERT INTO publication (id_user_auteur, prenom_user_auteur, nom_user_auteur, avatar_user_auteur, domaine_user_auteur, nom_pub, legend_pub, date_time_pub) VALUES (?, ?, ?, ?, ?, ?, ?, NOW())'); $req->execute(array($infouser->id_user, $infouser->prenom_user, $infouser->nom_user, $infouser->avatar_user, $infouser->domaine_user, $_SESSION['auth']->id_user.'_photo_'.$infouser->nom_user.'.'.$extensionphotoupload, $legend_photo)); } else{ // } } else{ // } } } $data = array('error' => $error); echo json_encode($data); ?>
EDIT : Ajout des balises de code
A voir également:
- Upload en php ajax instantanément
- Youtube upload - Télécharger - Diffusion
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Php alert ✓ - Forum PHP
- Commun file upload pattern ✓ - Forum Réseaux sociaux
1 réponse
Bonjour,
Commence par ajouter le "error" dans ton ajax
Puis active la gestion des erreurs PDOhttps://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Et l'affichage des erreurs php:
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
regardes ensuite dans la console de ton navigateur si il n'y a pas de choses qui s'affichent et si ta requête ajax s'exécute correctement ( pour ça, je te conseille d'utiliser la console de firefox ou d'installer, pour chrome, le plugin ajax debuger )
NB: A l'avenir, pour poster ton code, merci de le faire en utilisant les balises de code
explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
.
Commence par ajouter le "error" dans ton ajax
error: function (error) { alert('error '); console.log(error); }
Puis active la gestion des erreurs PDOhttps://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Et l'affichage des erreurs php:
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
regardes ensuite dans la console de ton navigateur si il n'y a pas de choses qui s'affichent et si ta requête ajax s'exécute correctement ( pour ça, je te conseille d'utiliser la console de firefox ou d'installer, pour chrome, le plugin ajax debuger )
NB: A l'avenir, pour poster ton code, merci de le faire en utilisant les balises de code
explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
.