Problème de else

Eléphanteau du PHP | 30 Messages

02 juil. 2011, 20:40

Je vous explique
C'est un code qui traite l'envoie de fichier d'une autre page(par formulaire) dans le if
et dans le else:si les conditions ne sont pas requise, alors il affiche une phrase puis le formulaire !!!!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title>Poliboolold-groupe</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
       <link rel="stylesheet" media="screen" type="text/css" title="poli2" href="style.css" />

          </head>
 
   <body>

       <div id="banniere">
       

       </div>
 
       <div id="barreprojet">        
             Polibook   Polipeople   Polilogiciel   Politribale    Tchat    Forum    Aide    Suggestions    livre d'or    newlester        
       </div>
 
 
 
       <div id="corps">
         
 <?php
	$actu = 1;

	if($actu == 1) {
		echo "Page web en construction (developpement de la mise en page)";
	} else {
		echo "Poliboolold-groupe, le site multi-services";
	}
?>
 </div>

<div id=membre>
<h2>espace-membre</h2>
<p>Veuillez vous connecter <br/>
Pour accéder a votre espace membre <br/>
Service Indisponible pour le moment </p>
<form method="post" action="">
<p>
<label for="pseudo">Pseudo:</label>
<input type="text" name="pseudo" id="pseudo" value="Pseudo"/>
<br/>
<label for="Mot de passe">Mot de passe:</label>
<input type="password" name="Mot de passe" id="Motdepasse" value="Mot de passe"/>
<br/>
<input type="submit" value="Valider" /<label for="pseudo">Pseudo:</label>
<br/>
Pour vous inscrire , cliquez <a href="inscription.php">Ici</a>

</p>
</form>


</div>
<div id="actu">
<?php
if (isset($_FILES['monfichier']) AND $_FILES['monfichier']['error'] == 0)
{
        // Testons si le fichier n'est pas trop gros
        if ($_FILES['monfichier']['size'] <= 1000000)
        {
                // Testons si l'extension est autorisée
                $infosfichier = pathinfo($_FILES['monfichier']['name']);
                $extension_upload = $infosfichier['extension'];
                $extensions_autorisees = array('docx', 'txt');
                if (in_array($extension_upload, $extensions_autorisees))
                {
                        // On peut valider le fichier et le stocker définitivement
  $extension = strrchr(basename($_FILES['monfichier']['name']), '.');
move_uploaded_file($_FILES['monfichier']['tmp_name'], 'uploads/'.uniqid().$extension);
                      echo "L'envoi a bien été effectué !";
                }
        }
}
else 
{
?>
<h1> Espace suggestions </h1>
<p> Bonjour veuillez envoyez vos suggestions dans des fichiers word ou bloc notes . Un espace de suggestion rapide est en developpement </p>
<p> N'envoyez que des fichiers dont la taille maximale est de <strong>1Mo</strong> . Les extensions autorisés sont:<br/>
-fichier word (.docx),<br/>
-bloc-notes: fichier.txt<br/>
<strong> Pour des raisons de sécurité: toute autre fichier ne sera pas accepté</strong></p>
<form action="cible_envoi.php" method="post" enctype="multipart/form-data"><p>Formulaire d'envoi de fichier:<br/>
<input type="file" name="monfichier" /><br/>
<input type="submit" value="Envoyer le fichier" />
</p>
</form>

<?php
}
?>
<?php

	$heure=date(H);
	$minute=date(i);
	echo'Il est <strong>'.$heure.':'.$minute;
?>





 
       <div id="pied_de_page">
       <p>
              </p>

       </div>
 
   </body>
</html>
Avec aucun parse error: c'est ca qui m'étonne :|
Merci d'avance

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

02 juil. 2011, 20:53

salut,

pour etre franc j'ai qu'une question : et alors ?

quel est le problème ? on doit tester pour savoir ce qui se passe ?

quel est ta question ?

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 30 Messages

02 juil. 2011, 23:25

Je veux que par exemple si l'utilisateur t'envoie une image alors que j'ai demandé que des fichiers word et bloc notes dans le if
que le else: affiche: un message d'erreur du style: "Vous n'avez pas respectées les critères d'envoie de fichier" (je sais j'ai pas mis de message d'erreur) " Et qu'il recharge le formulaire

Or j'ai testée le rechargement du formulaire dans le else ne marche pas

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

02 juil. 2011, 23:46

y a pas de else sur le if qui test l'extension .....

regarde la fonction header


@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 30 Messages

02 juil. 2011, 23:48

Euh je comprend plus rien (faut dire que je viens du sdz, alors je suis un peu perdu)
Il faut que rajoute quoi? comme code?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

02 juil. 2011, 23:58

<?php
 if (in_array($extension_upload, $extensions_autorisees))
                {
                        // On peut valider le fichier et le stocker définitivement
  $extension = strrchr(basename($_FILES['monfichier']['name']), '.');
move_uploaded_file($_FILES['monfichier']['tmp_name'], 'uploads/'.uniqid().$extension);
                      echo "L'envoi a bien été effectué !";
                }
else {
//extension pas bonne
header('Location: lapagefichier.php');
}
?>

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 30 Messages

03 juil. 2011, 00:06

et si je veux rajouter un message d'erreur
ca marche comment?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

03 juil. 2011, 00:33

Plein de possibilités le passer par l'url, l'afficher et utiliser une balise meta pour la redirection ou simplement afficher et traiter le formulaire sur la meme page afin de le pré remplir (pas remplissage du champs fichier possible) et afficher un beau message d'erreur ;)

@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 30 Messages

03 juil. 2011, 00:34

Merci a toi :wink:

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

03 juil. 2011, 11:06

de rien ;)

@+
Il en faut peu pour être heureux ......

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

03 juil. 2011, 18:54

Modération :
Si ta question est résolue, pense à l'indiquer pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution.
Tu peux réaliser cette opération toi-même en cliquant sur le bouton Image en haut à droite de la réponse qui te semble la plus pertinente.
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

devlop78
Invité n'ayant pas de compte PHPfrance

04 juil. 2011, 03:45

Juste pour l'info, j'ai vu ça hier :
HTTP/1.1 demande une URI absolue comme argument de » Location:, y compris le protocole, hôte et chemin absolu. Mais certains navigateurs acceptent les URI relatives.
http://php.net/manual/fr/function.header.php

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

04 juil. 2011, 12:34

ha tiens, j'avais jamais fait gaffe a ça, vu que le relatif fonctionne "tout" le temps ;)
merci pour l'info
Il en faut peu pour être heureux ......