Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/06/2008, 19h36   #1
Nouveau Membre du Club
 
Inscription : décembre 2006
Messages : 138
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 138
Points : 30
Points : 30
Par défaut envoyer texte et images/ prob de réception

Bonjour à tous, votre aide me sera précieuse !
J' ai besoin de 2 pages, l'une pour envoyer des infos (html), l'autre pour les reçevoir (php)...
J'ai donc fait comme suit :
Page d'envoi =>
Code :
1
2
3
4
5
Code : HTML1
	<form action="http://lireunjour.yl-creation.fr/librecours.php" method="post"><p>&lt;&gt;<input name="texte" textarea="" cols="30" rows="20" type="text"><input value="valider" type="submit"></p></form>
<br><br><form method="post" action="http://lireunjour.yl-creation.fr/librecours.php" enctype="multipart/form-data"><!--fichier limité volontairement  à 100Ko --><input name="MAX_FILE_SIZE" value="100000" type="hidden">Fichier
: <input name="avatar" type="file"> <input name="envoyer" value="Envoyer le fichier" type="submit">
</form>
Page de réception mon CSS
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<style type="text/css">
#conteneur {
position: relative;
margin-right: 0%;
width: 80%;
height : 450px;
text-align: left;
border : 1px solid #f0ffff;
font-family: 'Trebuchet MS', Verdana, sans-serif;
font-size : 100%;
}
#contenu {
top : 100px;
left : 80px;
width : 100%;
height : 450px;
overflow : auto;
background-color: #eef;
}
#contenu p {
margin : 1em;
color : #000;
}
</style>
<style>#navcontainer { width: 200px; }
#navcontainer ul
{
margin-left: 0;
padding-left: 0;
list-style-type: none;
font-family: Arial, Helvetica, sans-serif;
}
#navcontainer a
{
display: block;
padding: 3px;
width: 160px;
background-color: #6C3600;
border-bottom: 1px solid #eee;
}
#navcontainer a:link, #navlist a:visited
{
color: #EEE;
text-decoration: none;
}
#navcontainer a:hover
{
background-color: #FFDF70;
color: #fff;
}</style>
Tjrs page de récé .php:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
	<p>*<?php echo $_GET['texte']; ?></p>
<br><br><?php echo $_POST['texte']; ?></div><br><br><br><br><br><br><br></div></center><br><br><br><br><br><br>&nbsp;
&nbsp; <br></div></td></tr></tbody></table><br>
<?php $dossier = 'upload/'; $fichier = basename($_FILES['avatar']['name']);$taille_maxi = 100000;$taille = filesize($_FILES['avatar']['tmp_name']);$extensions = array('.png', '.gif', '.jpg', '.jpeg');$extension = strrchr($_FILES['avatar']['name'], '.'); //Début des vérifications de sécurité...if(!in_array($extension, $extensions)) 
{$erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';}if($taille>$taille_maxi){$erreur = 'Le fichier est trop gros...'; gros...';}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
//
formate 
fichier
...
$fichier = strtr($fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) //le fonction doit renvoyer true...
{
echo 'Upload effectué avec succès !';
}
else //(la fonction renvoie FALSE).
{
echo 'Echec de l\'upload !';
}
}
else
{
echo $erreur;
}
?>
Le problème c'est que je peux envoyer, mais le texte envoyé n'est pas visible sur un autre poste ou une autre connexion.
Comment puis-je faire pour que le texte envoyé soit visible pour tous ?
Quand aux uploads d'images, c'est la cata, voici le message d'erreur:
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to access upload/accueil2.gif in /www/sites/1/Y/L/yl-creation.fr/lireunjour/librecours.php on line 78
Echec de l'upload !
Même avec un répertoire chmod777 (et fichiers 640) je peux écrire, lire et envoyer, mais mon texte n'est pas visible sur mon site.
Je vous remercie beaucoup par avance de vos conseils !!!!
@+++
(ps) je travail en ligne en uploadant mes modifs avec filezilla
midnnight est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2008, 12h52   #2
Rédacteur/Modérateur
 
Avatar de MaitrePylos
 
Homme Gérard Ernaelsten
DBA & Dev PHP
Inscription : juin 2005
Messages : 3 183
Détails du profil
Informations personnelles :
Nom : Homme Gérard Ernaelsten
Âge : 39
Localisation : Belgique

Informations professionnelles :
Activité : DBA & Dev PHP
Secteur : Service public

Informations forums :
Inscription : juin 2005
Messages : 3 183
Points : 6 470
Points : 6 470
Bonjour,

J'ai plusieurs remarques

1) Pourquoi faire deux boutons alors qu'un seul suffit.
2) indente ton code pour que se soit visible

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<form action="http://lireunjour.yl-creation.fr/librecours.php" method="POST">
	<p>&lt;&gt;
		<input name="texte" textarea="" cols="30" rows="20" type="text" />
		<input value="valider" type="submit" />
		</p>
</form>
<form method="POST" action="http://lireunjour.yl-creation.fr/librecours.php" enctype="multipart/form-data">
<!--fichier limité volontairement  à 100Ko -->
<input name="MAX_FILE_SIZE" value="100000" type="hidden">
Fichier:<input name="avatar" type="file"> 
<input name="envoyer" value="Envoyer le fichier" type="submit">
</form>
Ton action renvoi vers un site web, comme ton script est à la racine "action=librecours.php" devrais suffir.

Tu crée un fichier hidden, qui ne sert absolument à rien, puisque c'est à la réception qu'on peut calculer le poids, d'ailleurs tu le fias très bien avec
Code :
1
2
 
$taille_maxi = 100000;
tes ressources css, ne nous intéresse pas.

ton fichier de réception souffrais de quelque erreurs de frappe,
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
<p>*<?php echo $_GET['texte']; ?></p>
<?php echo $_POST['texte']; ?></div><br><br><br><br><br><br><br></div></center><br><br><br><br><br><br>&nbsp;
&nbsp; <br></div></td></tr></tbody></table><br>
<?php 
 
$dossier = 'upload/'; 
$fichier = basename($_FILES['avatar']['name']);
$taille_maxi = 100000;
$taille = filesize($_FILES['avatar']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['avatar']['name'], '.'); 
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions))
{
	$erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
}
if($taille>$taille_maxi)
{
	$erreur = 'Le fichier est trop gros...';
}
	if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
	$fichier = strtr($fichier, 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
	$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
	if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) //le fonction doit renvoyer true...
	{
			echo 'Upload effectué avec succès !';	
	}else{
		echo 'Echec de l\'upload !';
	}
}else{
	echo $erreur;
}
?>
La ligne suivante, ne sert absolument à rien
Code :
1
2
 
<p>*<?php echo $_GET['texte']; ?></p>
Sauf si tu nous à pas mis tout le code.

Voila , j'espère t'avoir un peu aider.
MaitrePylos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2008, 03h23   #3
Nouveau Membre du Club
 
Inscription : décembre 2006
Messages : 138
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 138
Points : 30
Points : 30
J'te remercie ! j'avais un peu cessé de travailler sur ces fichier, mais je me suis encore pas mal cassé la tête aujourd'hui, j'ai déjà corrigé mes erreurs de frappe, mais j'ai toujours ce soucis : Fatal error: Call to undefined function move_uploaded_files() je fini par penser que mon script de réception est complètement à refaire...Non ?...(Quoi que maintenant sur la page de réception apparait le nom du fichier, mais toujours pas l'image. Ca donne :=>
c6.gif
Fatal error: Call to undefined function move_uploaded_files() in...
midnnight est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2008, 07h36   #4
Rédacteur/Modérateur
 
Avatar de MaitrePylos
 
Homme Gérard Ernaelsten
DBA & Dev PHP
Inscription : juin 2005
Messages : 3 183
Détails du profil
Informations personnelles :
Nom : Homme Gérard Ernaelsten
Âge : 39
Localisation : Belgique

Informations professionnelles :
Activité : DBA & Dev PHP
Secteur : Service public

Informations forums :
Inscription : juin 2005
Messages : 3 183
Points : 6 470
Points : 6 470
Code PHP :
1
2
 
move_uploaded_file()

et non pas

Code PHP :
1
2
 
move_uploaded_files()
MaitrePylos est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h02.


 
 
 
 
Partenaires

Hébergement Web