Récupèrer les donnés d'un formulaire sans recharger la page [Résolu]

Messages postés
8
Date d'inscription
mardi 19 août 2003
Statut
Membre
Dernière intervention
10 janvier 2012
- - Dernière réponse : cod57
Messages postés
1660
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
- 10 janv. 2012 à 14:10
Bonjour,
J'ai besoin d'aide j'ai un script d'upload d'images[www.fidjiforum.info (VISIBLE ICI)].Mon problème est que je voudrais que l'upload et la suppression se passe dans une iframe pour ne pas recharger la page et de faite perdre la saisi dans la textarea entre autre. J'ai essayé plusieurs pour ne pas dire toutes les solution proposé sur le web mais je n'arrive pas à les intégrer a mon script... aidez-moi SVP sa fait + d'un mois que je suis dessus je n'y arrive pas! D'avance un grand merci!













Document sans titre



























Entrez un texte :



































Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
1660
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
8
3
Merci
bonjour

1 mois tu es obstiné ...

tu dois séparer le form upload du form du textarea
oublie les scripts ajax ça marche pas bien

tu utilises onchange dans le form d'upload

ex 1 :

test.php

<?php
session_start();
if(isset($_SESSION['p1']) && !empty($_SESSION['p1'])){
echo '';
print_r($_SESSION['p1']);
echo '

';
}else{
}
?>
<form action="upload.php" method="post" enctype="multipart/form-data">

</form>

<form action="test.php" method="post"">
<textarea cols="51" rows="5"></textarea>



</form>


upload.php


<?php
session_start();
/*
echo '';
print_r($_FILES['p1']);
echo '

';
*/

if(isset($_FILES['p1']) && !empty($_FILES['p1']) ){
$_SESSION['p1']=$_FILES['p1'];
/*tu uploades et stocke le name du file dans une autre session si tu renome */
header('Location: test.php');exit;
}else{
header('Location: test.php');exit;
}
?>




prevu

dans test.php

image.php contient un script php qui affiche l'image que tu as mis sur ton serveur le nom est stocké dans une variable de session par le script d'upload

comme j'ai fait avec upload tu peux avoir un second fichier.php

qui contient les post du deuxieme form

et qui renvoit a test si erreur

++



Bonne programmation !

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 137 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cod57
Messages postés
1660
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
8
3
Merci
Bonjour

pas de probs

un exemple plus complet en reprenant une de tes fonctions

en supposant upload/ ce repertoire existe ...

test.php
<?php
session_start();

$err=null;

if(isset($_SESSION['errors']) && !empty($_SESSION['errors'])){
print_r($_SESSION['errors']);
}

else if(isset($_SESSION['p1']) && !empty($_SESSION['p1'])){
echo '';
print_r($_SESSION['p1']);
echo '

';

move_uploaded_file($_SESSION['p1']['tmp_name'],$chemin='uploads/'.$_SESSION['p1']['name']);
echo '';
}

else{
}
echo $err;
?>
<form action="upload.php" method="post" enctype="multipart/form-data">

</form>

<form action="test.php" method="post"">
">

<textarea cols="51" rows="5"></textarea>



</form>



upload.php
<?php
session_start();


function checkExtension($file){
$filesext=strtolower(end(explode('.',$file)));
$extensions_autorisees = array('jpg','jpeg','pjpg','pjpeg','jpg','png','gif','tiff','tif');
  
  if(in_array($filesext,$extensions_autorisees)){
  $_SESSION['errors']=null;
  move_uploaded_file($_FILES['p1']['tmp_name'],'uploads/'.$_FILES['p1']['name']);
  return true;
  }else{
  $errors='Extension '.$filesext.' invalide !';
  return $_SESSION['errors']=$errors;
  }

}


/*
echo '';
print_r($_FILES['p1']);
echo '

';
*/

if(isset($_FILES['p1']) && !empty($_FILES['p1']) && checkExtension($_FILES['p1']['name'])===true){
$_SESSION['p1']=$_FILES['p1'];
header('Location: test.php');exit;
}else{
unset($_SESSION['p1']);
header('Location: test.php');exit;
}
?>





Bonne programmation !

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 137 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cod57
Messages postés
8
Date d'inscription
mardi 19 août 2003
Statut
Membre
Dernière intervention
10 janvier 2012
0
Merci
Bonjour cod57,
Je te remercie infiniment, Je vais essayé de mettre en pratique ta réponse, mais je t'avoue que je ne suis pas sûr d'y arriver. Dans mon scripte final il y a déjà une session ouverte, puis en dehors des soucis de mise en page(car il s'agit au final d'un forum)j'aurais bien aimé conserver une certaine cohérence par rapport à ce que j'ai mis en ligne en exemple. C'est pour tout cela que j'avais pensé a une iframe.

Je te remercie encore et te tiens au courant.
Commenter la réponse de cs_blackshadows