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

Résolu
cs_blackshadows Messages postés 8 Date d'inscription mardi 19 août 2003 Statut Membre Dernière intervention 10 janvier 2012 - 9 janv. 2012 à 11:41
cod57 Messages postés 1653 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 :



































3 réponses

cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
9 janv. 2012 à 16:26
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 !
3
cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
10 janv. 2012 à 14:10
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 !
3
cs_blackshadows Messages postés 8 Date d'inscription mardi 19 août 2003 Statut Membre Dernière intervention 10 janvier 2012
10 janv. 2012 à 10:40
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.
0
Rejoignez-nous