instruction php ouvrir une page

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : instruction php ouvrir une page

par iclicktro » 29 oct. 2008, 18:09

En bidouillant un peu, j'ai trouvé ça qui est beaucoup mieux.

<?php
$dossier = 'receptionphoto/';
$fichier = basename($_FILES['photo']['name']);
$taille_maxi = 500000;
$taille = filesize($_FILES['photo']['tmp_name']);
$extensions = array('.png', '.PNG', '.gif', '.GIF', '.jpg', '.JPG', '.jpeg', '.JPEG');
$extension = strrchr($_FILES['photo']['name'], '.');
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
header('location: echecenvoi.htm' );
exit;
}
if($taille>$taille_maxi) //Si la taille est supérieure à 500 Ko
{
header('location: echecenvoi.htm' );
exit;
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
//On formate le nom du fichier ici...
$fichier = strtr($fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
}
if(move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $fichier))
//Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
header('location: confirmation.htm' );
exit;
}
?>

Merci à tous pour votre aide

par iclicktro » 28 oct. 2008, 12:46

Désolé mais malgrès votre aide, je rame encore.

_le script est nommé 30.php
_confirmation.htm est la page à ouvrir en cas de réussite de l'upload
_echecenvoi.htm est la page à ouvrir en cas d'echec de l'upload

Voici le script (30.php) qui me sert à uploader les photos sur mon site :

<?php
$dossier = 'receptionphoto/';
$fichier = basename($_FILES['photo']['name']);
$taille_maxi = 2000000;
$taille = filesize($_FILES['photo']['tmp_name']);
$extensions = array('.png', '.PNG', '.gif', '.GIF', '.jpg', '.JPG', '.jpeg', '.JPEG');
$extension = strrchr($_FILES['photo']['name'], '.');

//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
$erreur = 'Vous devez uploader un fichier de type png, gif, jpg, ou jpeg';
}
if($taille>$taille_maxi)
{
$erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
//On formate le nom du fichier ici...
$fichier = strtr($fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
if(move_uploaded_file($_FILES['photo']['tmp_name'], $dossier . $fichier))

//Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
header('location: confirmation.htm' );
exit;
}
else //Sinon la fonction renvoie FALSE.
{
header('location: echecenvoi.htm' );
exit;
}
else
{
echo $erreur;
}
?>


et voici le message d'erreur que j'obtiens quand j'essaye d'uploader une photo :

Parse error: syntax error, unexpected T_ELSE in /home.30/m/o/n/monsite/www/30.php on line 37

Merci d'avance pour votre aide.
iclicktro

par charabia » 28 oct. 2008, 12:40

par sylvaing26 » 28 oct. 2008, 12:35

alors dans ce cas c'est un truc du genre
if ($param == erreur){
echo "<meta http-equiv=\"refresh\" content=\"2;url=tapage_erreur.php\">\n ";
}
else {
echo "<meta http-equiv=\"refresh\" content=\"2;url=tapage_ok.php\">\n ";
}
qu'il faut mettre entre <HEAD> et </HEAD> de ton code HTML

par iclicktro » 28 oct. 2008, 12:11

Tu peux juste faire une redirection en php non ? Au lieu de faire un echo pour afficher la phrase, hop une petite redirection vers une page ou une autre selon les cas.
C'est exactement ça je veux faire une redirection en php mais je suis plus que débutant et je ne sais pas faire.
Merci de ton aide

par charabia » 28 oct. 2008, 11:59

Tu peux juste faire une redirection en php non ? Au lieu de faire un echo pour afficher la phrase, hop une petite redirection vers une page ou une autre selon les cas.

par sylvaing26 » 28 oct. 2008, 11:49

a mon avis il faut que tu croise php et javascript.
Ta page s'actualise avec en paramettre succes ou error par exemple et en fonction de cela dans ton echo tu met la fonction javascript qui te permet soit de faire une popup ou soit d'afficher une fenetre d'avertissement du genre

Code : Tout sélectionner

alert( "Uplad reussi." );

instruction php ouvrir une page

par iclicktro » 28 oct. 2008, 11:44

J'utilise un script php pour permettre d'uploader des photos sur mon site.
Après l'exécution du script un message s'affiche gràce à ce code : echo 'Upload effectué avec succès !'; ou alors echo 'Echec de l\'upload !';
Je voudrais, au lieu d'afficher un de ces messages, ouvrir une page succes.html en cas d'upload effectué avec succès ou une page echec.html en cas d'Echec de l'upload.
Merci par avance de votre aide.
iclicktro