Afficher une image hors du cadre d'une forme

Fermé
cgershon Messages postés 267 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 25 janvier 2016 - 7 janv. 2009 à 10:51
cgershon Messages postés 267 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 25 janvier 2016 - 26 janv. 2009 à 11:58
Bonjour,
j'ai une forme de text et aussi un upload d'image sur la meme page
lorsque je fais l'upload de l'image et que je veux visualiser l'image je peux la positionner ou je veux sur la page
mais lorsque je valide mon formulaire text et lance un code php pour afficher l'image
je suis limite au cadre de mon formulaire pour l'affichage.
peux-t-on sortir du cadre du formulaire pour afficher n'importe ou sur la page ?

echo '<span style="position: absolute; left:0px; top:0px;">';
if(file_exists($_SESSION['photo'])){ echo '<img src="image.php" width="200" height="200" alt=""</span>';
} else {$_SESSION['photo']="new.jpg";echo '<img src="image.php" alt=""></span';}
echo '<span style="position: absolute; left:00px; top:280px;">'.$_SESSION['photo'].'</span>';

left:0px; top:0px; se situe sur le bord haut gauche du formulaire et pas de la page

qq peut-il me dire comment s'echapper du formulaire ?

merci
A voir également:

4 réponses

Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
7 janv. 2009 à 10:55
salut,

tu dois avoir un {position:relative;} appliqué à l'une des balises qui englobent ton <span>.
il faut le supprimer ou alors insérer ton <img/> ailleurs.

0
cgershon Messages postés 267 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 25 janvier 2016 4
7 janv. 2009 à 11:00
bonjour

non je n'ai aucune position relative c'est comme si l'absolu etait par rapport au cadre du formulaire je ne comprends pas pourquoi?
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920 > cgershon Messages postés 267 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 25 janvier 2016
7 janv. 2009 à 11:02
c'est comme si l'absolu etait par rapport au cadre du formulaire je ne comprends pas pourquoi
en général parce que le container est en relatif…

peux-tu nous montrer le code servi, stp ?
0
cgershon Messages postés 267 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 25 janvier 2016 4 > Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016
7 janv. 2009 à 11:10
<span style="position:absolute;left:350px;top:15px; " > <h1>Introduire un nouvel artiste</h1>
</span>
<span style="position:absolute;left:800px;top:25px; " > base: hadad  table:artistes
<?php echo '<font color="">'.' '.date("d").' '.date("m").' '.date("Y");?>
</span>
<fieldset>
<span style="position:absolute;left:250px;top:55px; " >
<form method="post" name = "inscription" onsubmit=" signin(this.nomd.value,this.prenomd.value,this.style.value,this.origine.value,this.groupes.value,this.particularites.value,this.site.value,this.code.value,'artistes');return false;" >
<div id="msg">
</div>
<table width="900" border="2" cellspacing="3" align="left">
<tr>
<td >
<div style="position:relative;left:10px;top:0px; ">
<label class="alignleft" for="nomd"> <strong>Nom de l'artiste:</strong>
</label> 
<input name="nomd" id="nomd" size="30" maxlength="30" >
</div></td>
</tr>
<tr>
<td >
<div style="position:relative;left:10px;top:0px; " >
<label class="alignleft" for="prenomd"> <strong>Prenom:</strong>
</label> 
<input name="prenomd" id="prenomd" size="30" maxlength="30" >
</div></td>
</tr>
<tr>
<td >
<div style="position:relative;left:10px;top:0px; " >
<label class="alignLeft" for="style"> <strong>Style:</strong>
</label> 
<input name="style" id="style" size="30" maxlength="30">
</div></td>
</tr>
<tr>
<td >
<div style="position:relative;left:10px;top:0px; ">
<label class="alignLeft" for="origine"> <strong>Origine:</strong>
</label> 
<input name="origine" id="origine" size="30" maxlength="30" >
</div></td>
</tr>
<tr>
<td >
<div style="position:relative;left:10px;top:0px; ">
<label class="alignLeft" for="particularites"> <strong> Particularités:</strong>
</label> 
<textarea name="particularites" rows="8" cols="60">
Votre message ici.
</textarea>
</div></td>
</tr>
<tr>
<td >
<div style="position:relative;left:10px;top:0px; ">
<label class="alignLeft" for="groupes"> <strong>groupes:</strong>
</label> 
<textarea name="groupes" id="groupes" rows="8" cols="70">
Votre message ici.
</textarea>
</div></td>
</tr>
<tr>
<td >
<div style="position:relative;left:10px;top:0px; " >
<label class="alignLeft" for="site"> <strong>Site Web:</strong>
</label>
<input name="site" id="site" size="50" maxlength="50" >
</div></td>
</tr>
<tr>
<td >
<div style="position:relative;left:10px;top:0px; " >
<label class="alignLeft" for="code"> <strong>Code(o=lettre 0=chiffre):</strong>
</label>   
<img src="image_code.php" alt="" >
<input name="code" id="code" size="5" maxlength="4">
</div></td>
</tr>
<tr>
<td colspan="2">
<div class="alignRight">
<input name="envoyer" type="submit" value="Valider" >
</div></td>
<td colspan="2">
<div class="alignRight">
<input name="annuler" type="submit" value="Annuler" onclick="javascript:history.go(-2);">
</div></td>
</tr>
</table>
</form>
</fieldset>
</span> <span style="position:absolute;left:430px;top:540px; ">
<form method="post" name = "inscription" action="admin_art.php">
<tr>
<td colspan="2">
<div class="alignRight">
<input name="efface" type="submit" value="On efface et on recommence..." ;>
</div> </td>
</tr>
</form> </span>
<span style="position: absolute; left:00px; top:200px;">
<form method="post" ENCTYPE="multipart/form-data" ><TABLE BORDER="1">
<input type=hidden name=MAX_FILE_SIZE VALUE=5000000>
<input type=file name="userfile" value="'.$_SESSION['photo'].'" maxlength="150"><br>
<input type="submit" name="validimg" value="VALIDER L'IMAGE jpg" >
</table></form></span>
<?php
if(isset($_POST['validimg'])|| isset($_POST['envoyer'])){
$userfile_name='';
$uploaddir='./uploads/';
$uploadfile=$uploaddir.$_FILES['userfile']['name'];/*basename($_FILES['userfile']['name'])*///;echo 'chargement de:'.$uploadfile;
$MAX_SIZE = 9000000 ; // taille maximum (en octets) des fichiers à télécharger
clearstatcache() ;
if(strlen($_FILES['userfile']['name']) && file_exists($_FILES['userfile']) && stristr($_FILES['userfile']['name'], ".php") == "") {
if(!copy($_FILES['userfile'], $userfile_name))
echo "<script language='javascript'>alert('une erreur s'est produite pendant le téléchargement.');</script>";
/* if(!file_exists($_FILES['userfile']))
unlink($_FILES['userfile']);*/
}
//echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile))
{
// echo '</pre>'; //mysql_free_result($ReqLog );
$_SESSION['photo_nom']=$_FILES['userfile']['name'];$_SESSION['photo'] = $uploadfile;$_SESSION['chargee']='True';
echo '<span style="position: absolute; left:0px; top:0px;">';
if(file_exists($_SESSION['photo'])){ echo '<img src="image.php" width="200" height="200" alt="";';}
else {$_SESSION['photo']="new.jpg";echo '<img src="image.php" alt="">';}
echo '</span>';
echo '<span style="position: absolute; left:00px; top:250px;">'.'photo chargee: '.$_SESSION['photo'].'</span>';

} else {
echo "photo non chargee";
}
//print_r($_FILES);

$_POST['validimg']='';
//echo $_SESSION['photo'];
}
?>
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
7 janv. 2009 à 11:11
non je n'ai aucune position relative
tu plaisantes ou tu n'as pas lu ton code ?
0
cgershon Messages postés 267 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 25 janvier 2016 4
7 janv. 2009 à 11:17
les relatives sont dans les input de la 1ere forme et encadres par des <div> </div> je ne vois pas le rapport avec mon image ...
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920 > cgershon Messages postés 267 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 25 janvier 2016
7 janv. 2009 à 11:18
pfff…
fais suer, va falloir que je regarde !
-:oD
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
7 janv. 2009 à 11:20
en premier donne nous le code servi, celui qui s'affiche dans ton navigateur pas le script PHP.
et utilises le bouton préserver la mise en forme.

si tu as une version en ligne, ça ira beaucoup plus vite !
0
cgershon Messages postés 267 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 25 janvier 2016 4
7 janv. 2009 à 11:38
bien vu le code servi ! il y a un <span> en plus qui apparait <span style="position: absolute; left:00px; top:200px;"> je ne sais pas pourquoi !

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href="style.css" media="screen" >
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" >
<title>Enregistrer une fiche artiste
</title>
</head>
<body >
<script type="text/javascript" src="ajax.js">
</script>
<span style="position:absolute;left:350px;top:15px; " > <h1>Introduire un nouvel artiste</h1>
</span>
<span style="position:absolute;left:800px;top:25px; " > base: hadad  table:artistes
<font color=""> 07 01 2009
</span>
<fieldset>
<span style="position:absolute;left:250px;top:55px; " >
<form method="post" name = "inscription" onsubmit=" signin(this.nomd.value,this.prenomd.value,this.style.value,this.origine.value,this.groupes.value,this.particularites.value,this.site.value,this.code.value,'artistes');return false;" >
<div id="msg">
</div>
<table width="900" border="2" cellspacing="3" align="left">
<tr>
<td >
<div style="position:relative;left:10px;top:0px; ">
<label class="alignleft" for="nomd"> <strong>Nom de l'artiste:</strong>
</label> 
<input name="nomd" id="nomd" size="30" maxlength="30" >
</div></td>
</tr>
<tr>
<td >
<div style="position:relative;left:10px;top:0px; " >
<label class="alignleft" for="prenomd"> <strong>Prenom:</strong>
</label> 
<input name="prenomd" id="prenomd" size="30" maxlength="30" >
</div></td>
</tr>
<tr>
<td >
<div style="position:relative;left:10px;top:0px; " >
<label class="alignLeft" for="style"> <strong>Style:</strong>
</label> 
<input name="style" id="style" size="30" maxlength="30">
</div></td>
</tr>
<tr>
<td >
<div style="position:relative;left:10px;top:0px; ">
<label class="alignLeft" for="origine"> <strong>Origine:</strong>
</label> 
<input name="origine" id="origine" size="30" maxlength="30" >
</div></td>
</tr>
<tr>
<td >
<div style="position:relative;left:10px;top:0px; ">
<label class="alignLeft" for="particularites"> <strong> Particularitיs:</strong>
</label> 
<textarea name="particularites" rows="8" cols="60">
Votre message ici.
</textarea>
</div></td>
</tr>
<tr>
<td >
<div style="position:relative;left:10px;top:0px; ">
<label class="alignLeft" for="groupes"> <strong>groupes:</strong>
</label> 
<textarea name="groupes" id="groupes" rows="8" cols="70">
Votre message ici.
</textarea>
</div></td>
</tr>
<tr>
<td >
<div style="position:relative;left:10px;top:0px; " >
<label class="alignLeft" for="site"> <strong>Site Web:</strong>
</label>
<input name="site" id="site" size="50" maxlength="50" >
</div></td>
</tr>
<tr>
<td >
<div style="position:relative;left:10px;top:0px; " >
<label class="alignLeft" for="code"> <strong>Code(o=lettre 0=chiffre):</strong>
</label>   
<img src="image_code.php" alt="" >
<input name="code" id="code" size="5" maxlength="4">
</div></td>
</tr>
<tr>
<td colspan="2">
<div class="alignRight">
<input name="envoyer" type="submit" value="Valider" >
</div></td>
<td colspan="2">
<div class="alignRight">
<input name="annuler" type="submit" value="Annuler" onclick="javascript:history.go(-2);">
</div></td>
</tr>
</table>
</form>
</fieldset>
</span> <span style="position:absolute;left:430px;top:540px; ">
<form method="post" name = "inscription" action="admin_art.php">
<tr>
<td colspan="2">
<div class="alignRight">
<input name="efface" type="submit" value="On efface et on recommence..." ;>
</div> </td>
</tr>
</form> </span>
<span style="position: absolute; left:200px; top:10px;"> <span style="position: absolute; left:00px; top:200px;">
<form method="post" ENCTYPE="multipart/form-data" ><TABLE BORDER="1">
<input type=hidden name=MAX_FILE_SIZE VALUE=5000000>
<input type=file name="userfile" value="'.$_SESSION['photo'].'" maxlength="150"><br>
<input type="submit" name="validimg" value="VALIDER L'IMAGE jpg" >
</table></form></span>

</body>
</html>
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
7 janv. 2009 à 11:44
de toute façon le code n'est pas correct du tout.

entre autre tu imbriques des balises qui ne devraient pas l'être comme un <h1> dans un <span> donc ça devient très dur de prévoir comment un navigateur va pouvoir l'afficher !

avec quel logiciel as-tu produit ce code ?
0
cgershon Messages postés 267 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 25 janvier 2016 4
7 janv. 2009 à 17:07
sans vouloir polemiquer le fait de mettre h1 dans un span est tout a fait correct et ce n'est pas le probleme ici
tu n'as cas essayer je l'ai fait sur plusieurs sites cela marche.
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920 > cgershon Messages postés 267 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 25 janvier 2016
7 janv. 2009 à 17:52
c'est sûr que ce n'est pas le problème principal.
ce n'est pas parce que tu l'as déjà fait que c'est correct.
<span> est en ligne et <h1> est une boite donc on peut mettre le premier dans le second mais pas l'inverse.
si tu ne me crois pas je te renvoie à la spécification du W3C mais tu es peut être meilleur qu'eux aussi !
-:oD
De manière générale, les éléments de bloc peuvent contenir des éléments en-ligne et d'autres éléments de bloc. Et de manière générale, les éléments en-ligne ne peuvent contenir que des données et d'autres éléments en-ligne. L'idée inhérente à cette distinction structurelle, c'est que les éléments de bloc créent des structures « plus grandes » que les éléments en-ligne.

source

en accumulant les approximations techniques on finit avec des mises en page foireuses et là tu auras du mal à me contredire.

donc tu veux qu'on t'aide ou tu joues à celui qui aura le dernier mot ?
0
cgershon Messages postés 267 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 25 janvier 2016 4 > Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016
26 janv. 2009 à 11:58
Tu as raison j'ai corrige
0