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

Signaler
Messages postés
8
Date d'inscription
mardi 19 août 2003
Statut
Membre
Dernière intervention
10 janvier 2012
-
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
-
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 :



































3 réponses

Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
12
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 !
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
12
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 !
Messages postés
8
Date d'inscription
mardi 19 août 2003
Statut
Membre
Dernière intervention
10 janvier 2012

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.