switch ? redirection ??

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 : switch ? redirection ??

par Truc » 26 nov. 2005, 20:02

il manque surtout des accolades pour le if, tu as un tas d'instructions, "echo", a l'interieur qui doivent,je suppose, ne s'exécuter que si la condition est vrai. Or ici le test se fait sur la 1ere ligne :wink:

de plus c'est quoi ces "echo" a l'interieur d'un echo:
<?
echo "<EMBED src=\"<? echo \"$_SERVER[DOCUMENT_ROOT]\"; ?><? echo \"$chemin\"; ?>\" loop=false

par jeff » 26 nov. 2005, 11:44

j'ai pas tres bien compris ou se trouve tes erreurs mais jai corrigé un bout de code
if(file_exists($_SERVER[DOCUMENT_ROOT] . $chemin) AND $type=="voir")

    echo "<OBJECT classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"
codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0\"
WIDTH=100% HEIGHT=100%>";
    echo "<PARAM NAME=loop VALUE=false>";
    echo "<PARAM NAME=quality VALUE=high>";
    echo "<EMBED src=\"<? echo \"$_SERVER[DOCUMENT_ROOT]\"; ?><? echo \"$chemin\"; ?>\" loop=false quality=high WIDTH=100% HEIGHT=100% TYPE=\"application/x-shockwave-flash\" PLUGINSPAGE=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\">";
    echo "</EMBED>";
    echo "</OBJECT>";
    // include($_SERVER[DOCUMENT_ROOT] . $chemin);
    
else (file_exists($_SERVER[DOCUMENT_ROOT] . $chemin) AND $type=="envoi")

include($_SERVER[DOCUMENT_ROOT] . $chemin);

else
    include($_SERVER[DOCUMENT_ROOT] . $chemin2 . "/erreur.php");

?>

par matthieuuu » 25 nov. 2005, 20:35

Bonsoir !
J'ai réussi à faire cela mais je commets toujours quelques erreurs !
surement les ELSE d'après moi, mais aussi les AND dans les IF... :?
Pouvez-vous m'aider svp ?
<?php

$type=$_GET['type'];
$id=$_GET['id_episode'];

//---------------------------------------------

$dossier_voir="/dossier/voir";
$dossier_envoi="/dossier/envoi";

switch($type)
{
    case 'voir':
        $dossier=$dossier_voir;
        $ext=".swf";
        break;
    case 'envoi':
        $dossier=$dossier_envoi;
        $ext=".php3";
        break;
}

$chemin=$dossier."/".$id.$ext;
$chemin2="/dossier2";


if(file_exists($_SERVER[DOCUMENT_ROOT] . $chemin) AND $type="voir")

	echo "<OBJECT classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"
 codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0\"
 WIDTH=100% HEIGHT=100%>";
	echo "<PARAM NAME=loop VALUE=false>";
	echo "<PARAM NAME=quality VALUE=high>";
	echo "<EMBED src=\"<? echo \"$_SERVER[DOCUMENT_ROOT]\"; ?><? echo \"$chemin\"; ?>\" loop=false quality=high WIDTH=100% HEIGHT=100% TYPE=\"application/x-shockwave-flash\" PLUGINSPAGE=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\">";
	echo "</EMBED>";
	echo "</OBJECT>";
	// include($_SERVER[DOCUMENT_ROOT] . $chemin);
	
else (file_exists($_SERVER[DOCUMENT_ROOT] . $chemin) AND $type="envoi")

include($_SERVER[DOCUMENT_ROOT] . $chemin);

else
	include($_SERVER[DOCUMENT_ROOT] . $chemin2 . "/erreur.php");

?>
Merci !

par Truc » 24 nov. 2005, 15:27

quelque chose dans ce styl devrai fonctionner:

suivant $type on a soit une extension swf soit php suffit donc de préciser et concaténer.
switch($type)
{
	case 'voir': 
		$dossier=$dossier_voir;
		$extension=".swf";
		break;
	case 'envoi': 
		$dossier=$dossier_envoi;
		$extension=".php3";
		break;
}

$chemin=$dossier."/".$id_video.$extension;

if(file_exists($chemin))
	include($chemin);
else
	include($dossier."/erreur.php");
le 2eme switch n'est peut etre pas la peine suffit encore une fois de concaténer avec la variable $id_video.

par contre je suis pas sur que la fonction file_exists()
accepte un chemin avec http:// vaut mieux utiliser un chemin relatif si la les fichiers sont sur le meme serveur

par matthieuuu » 24 nov. 2005, 15:10

J'ai déjà fait ça, mais ça ne marchera surement pas :

Code : Tout sélectionner

<?php if(isset($id_video)){ if(!is_numeric($id_video)){ echo "<p>Erreur !<p>"; echo "<br>"; echo "<p>Redirection en cours..."; echo "<script language=\"javascript\" type=\"text/javascript\">"; echo "<!--"; echo "window.location.replace(\"http://monsite.com\");"; echo "-->"; echo "</script>"; exit; } } //--------------------------------------------- $dossier_voir="http://monsite.com/videos/voir"; $dossier_envoi="http://monsite.com/videos/envoi"; switch($type) { case 'voir': $dossier=$dossier_voir;break; case 'envoi': $dossier=$dossier_envoi;break; } switch($id_episode) { case '01': include("$dossier/01.swf");break; case '02': include("$dossier/02.swf");break; case '03': include("$dossier/03.swf");break; default: include("$dossier/erreur.php");break; } ?>
Le probleme est que si je me rend sur http://monsite.com/page.php?type=envoi&id_video=01 je vai tomber dans mon dossier d'envoi avec un fichier 01.swf alor que mon fichier d'envoi se nomme 01.php3 ...

Pouvez-vous m'aider ?
Merci

par Truc » 24 nov. 2005, 14:31

Salut, une structure ressemblant a ceci

switch ? redirection ??

par matthieuuu » 24 nov. 2005, 14:26

Bonjour à tous !
Je n'y connais pas grand chose en php, c'est pour cela que je viens vous demander votre aide !

Je souhaiterais avoir sur mon site un seule page en php, du type :

:arrow: http://www.site.com/page.php?id_video=15&type=voir

Le numéro de la vidéo correspond à id_video et le type est soit "voir", soit "envoi", soit "telecharger".

Quel devrait être la structure de ma page php ??

Merci d'éclairer ma lanterne !
____
matthieuuu