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

cs_blackshadows 8 Messages postés mardi 19 août 2003Date d'inscription 10 janvier 2012 Dernière intervention - 9 janv. 2012 à 11:41 - Dernière réponse : cod57 1660 Messages postés dimanche 7 septembre 2008Date d'inscription 11 septembre 2013 Dernière intervention
- 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 

Votre réponse

3 réponses

Meilleure réponse
cod57 1660 Messages postés dimanche 7 septembre 2008Date d'inscription 11 septembre 2013 Dernière intervention - 9 janv. 2012 à 16:26
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 !

Merci cod57 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de cod57
Meilleure réponse
cod57 1660 Messages postés dimanche 7 septembre 2008Date d'inscription 11 septembre 2013 Dernière intervention - 10 janv. 2012 à 14:10
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 !

Merci cod57 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de cod57
cs_blackshadows 8 Messages postés mardi 19 août 2003Date d'inscription 10 janvier 2012 Dernière intervention - 10 janv. 2012 à 10:40
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.