Insertion frame dans page PHP

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 : Insertion frame dans page PHP

par katagoto » 01 juil. 2008, 10:26

Bonjour, je ne suis pas très doué en iframe...

Bref, si tu ne te sert de ta table que pour lister, ça sert à rien d'en avoir une, avec cette méthode, tu peux liste les fichiers :
<?php
if ($handle = opendir('/chemin/vers/fichiers')) {
    echo "Directory handle: $handle\n";
    echo "Files:\n";

    /* Ceci est la façon correcte de traverser un dossier. */
    while (false !== ($file = readdir($handle))) {
        echo "$file\n";
    }

    /* Ceci est la MAUVAISE façon de traverser un dossier. */
    while ($file = readdir($handle)) {
        echo "$file\n";
    }

    closedir($handle);
}
?>

par Jay.Jay » 01 juil. 2008, 10:15

Salut tout le monde !

Effectivement, j'ai songé à javascript ; mais je ne pratique pas ce langage et c'est pourquoi je cherchais une solution purement PHP ; mais je pense que je vais quand même jeter un coup d'oeil du côté de JS.
Pour répondre à ta question, katagoto, je vide ma table parce que je veux qu'elle soit mise à jour automatiquement non seulement lorsque l'on ajoute un fichier PDF, mais aussi lorsque l'on en supprime un ; mais depuis j'ai un peu modifié ma façon de faire : j'ai alissé la main à la personne qui dépose et supprime des fichiers du répertoire ; j'ai copié le code qui vide la table et la remplit dans une nouvelle page qui est appelée par un formulaire PHP comportant un bouton "Mettre à jour la table".
Mais si tu penses qu'il y a une meilleure solution pour faire un listing, je suis preneur !

par Truc » 01 juil. 2008, 09:26

Bah ça ressemblerais plus à un problème résolvable par JS
JS ? ... certes...

une iframe et un target qui va bien devrait faire l'affaire :)

par katagoto » 30 juin 2008, 17:45

Bonjour,

Bah ça ressemblerais plus à un problème résolvable par JS, pourquoi tu vide ta table à chaque fois ? Tu peux faire un listing sans SQL...

Insertion frame dans page PHP

par Jay.Jay » 30 juin 2008, 17:27

Bonjour à tous,

Je suis en train de réaliser une petite application en PHP ; en fait, il s'agit de réaliser un petit site qui affichera une liste de liens pointant vers des fichiers PDF.
J'ai déjà réalisé l'essentiel mais je ne parviens pas à ouvrir les fichiers PDF dans la même page.
Je m'explique (et je joins mon code en bas de message) : j'ai une page qui contient de l'HTML et du PHP ; le code PHP liste le contenu d'un répertoire et remplit une base SQL avec les entrées qu'il y trouve. Le résultat, c'est une liste de liens qui pointent vers des fichiers PDF ; les liens fonctionnent très bien, mais ce que je voudrais c'est que l'utilisateur ne sorte pas de la page ; j'aimerais qu'en cliquant sur le lien, le document PDF s'ouvre dans un frame dans la même page. Et c'est précisément cela que je n'arrive pas à faire !!!!!
Je vous joins mon code ci-dessous :
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//FR" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"><title>Les revues de presse de la semaine</title></head>

<body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 209);" alink="#000099" link="#000099" vlink="#990099">

<!-- Tableau d'une cellule contenant le bandeau Intranet -->

<table style="text-align: center; width: 100%;" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><img style="width: 100%; height: 84px;" alt="" src="Images/Bandeau_intranet.jpg"></td>
</tr>
</table>

<!-- Tableau d'une ligne et 3 colonnes contenant les bandeaux gauche/droite et le code PHP en partie centrale -->

<table border="0" cellpadding="0" cols="3" width="100%">

<td style="width: 15%;"><img style="width: 190px; height: 499px;" alt="" src="Images/bandeau_gauche.jpg"></td>

<td style="text-align: center; width: 70%;" border="0" cellpadding="0" cellspacing="2"><font size="+3"><span style="font-family: Lucida Grande;">

<?php

//connexion
$connectfile = "connexion.php";
require $connectfile; 



/*******************************vider la table****************************************/

/*$res3 = mysql_query("TRUNCATE TABLE revues") or exit(mysql_error("Erreur : La table n\'est pas vidée, CONTACTEZ l'administrateur "));*/

/*************************************Lister les fichiers du repertoire*******************/


//Lecture du répertoire contenant les fichiers pdf de la revue de presse et insertion des entrées dans la base

/*$dir_nom = 'C:/xampp/htdocs/Revue de presse/RS/'; // dossier listé (pour lister le répertoire courant : $dir_nom = '.'  --> ('point')
$dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas'); // on ouvre le contenu du dossier courant
$fichier= array(); // on déclare le tableau contenant le nom des fichiers
$dossier= array(); // on déclare le tableau contenant le nom des dossiers

while($element = readdir($dir)) {
	if($element != '.' && $element != '..') {
		if (!is_dir($dir_nom.'/'.$element)) {$fichier[] = $element;}
		else {$dossier[] = $element;}
	}
}
//fermeture du repertoire 
closedir($dir);
// insertion des noms des fichiers dans la table
		foreach($fichier as $lien) {
			mysql_query("INSERT INTO revues (id,nom_fichier) VALUES ('','$lien')");
		}*/

$table ='revues';

//nombre d'enregistrement
$req = 'select * from '.$table;

$resultat_req = mysql_query($req);
$nb_enregistrement = mysql_num_rows($resultat_req) or exit(mysql_error("Erreur : dans l\'extraction du nombre de ligne, CONTACTEZ l'administrateur "));

//requete de la revue du Jour 
$requeteJ = 'select nom_fichier from '.$table.' where revues.id = '.$nb_enregistrement;

//requete des revues de la semaine 
$requeteS = 'select nom_fichier from '.$table.' where revues.id < '.$nb_enregistrement.' order by id desc limit 5';



$res = mysql_query($requeteJ) or exit(mysql_error("Erreur : dans l\'execution de la requete d\'extraction de la revue du jour, CONTACTEZ l'administrateur "));

echo '<table style="text-align: justify; width: 100%;" border="0"><tr>';

    echo '<th align=center>';
    echo 'La revue du jour';
    echo '</th>';

echo '</tr>';

while ($row = mysql_fetch_row($res)) {
    echo '<tr>';
	
    for ($j = 0; $j < count($row); $j++) {
			$max = -4;
        if (strlen($row[$j]) >= $max) {
			$row[$j] = substr($row[$j], 0, $max);

			$chaineJ = substr($row[$j], 6, 2);  // 20080613 -> 13


			$chaineM = substr($row[$j], 4, 2); // 20080613 -> 06

			$chaineA = substr($row[$j], 0, 4);  // 20080613 ->2008

 			
		}
		
	   	$date=$chaineJ.' / '.$chaineM.' / '.$chaineA;
		$nomfichier=$chaineA.$chaineM.$chaineJ;

        echo '<td align=center>';
		
		echo ($row[$j] == NULL) ? '<i>NULL</i>' : '<a href=http://localhost/Revue%20de%20presse/RS/'.$nomfichier.'.pdf>'.$date.'</a>';
        echo '</td>';
    }
   
    echo '</tr>';
}
echo '</table>';

/***********************************************************************************/


$res = mysql_query($requeteS) or exit(mysql_error("Erreur : dans l\'execution de la requete d\'extraction des revues de la semaine, CONTACTEZ l'administarteur' "));
echo '<table style="text-align: justify; width: 100%;" border="0"><tr>';

    echo '<th align=center>';
    echo 'Les revues de la semaine';
    echo '</th>';
echo '</tr>';
while ($row = mysql_fetch_row($res)) {

    echo '<tr>';

    for ($j = 0; $j < count($row); $j++) {
		$max = -4;
        if (strlen($row[$j]) >= $max) {
			$row[$j] = substr($row[$j], 0, $max);

			$chaineJ = substr($row[$j], 6, 2);  // 20080613 -> 13


			$chaineM = substr($row[$j], 4, 2); // 20080613 -> 06

			$chaineA = substr($row[$j], 0, 4);  // 20080613 ->2008

 			
		}
		
	   	$date=$chaineJ.' / '.$chaineM.' / '.$chaineA;
		$nomfichier=$chaineA.$chaineM.$chaineJ;
		
		/********************************************/
		
		//if(date("11062008 w")) echo date("w");//
		
		/*******************************************/
        echo '<td align=center>';
        echo ($row[$j] == NULL) ? '<i>NULL</i>' : '<a href=http://localhost/Revue%20de%20presse/RS/'.$nomfichier.'.pdf>'.$date.'</a>';
		
        echo '</td>';
		
    }
	
    echo '</tr>';
}
echo '</table>';
?>

</span></font></td>

<td style="width: 15%;"><img style="width: 190px; height: 499px;" alt="" src="Images/bandeau_droite.jpg"></td>

</table>

<!-- Tableau d'une cellule contenant le texte d'information -->

<table style="text-align: center; width: 100%;" border="0" cellpadding="0" cellspacing="0">
<tr style="font-style: italic; font-family: Lucida Grande;" align="center">
<td>Petit texte en base de page</td>
</tr>
</table>
</BODY>
Merci d'avance de votre aide !!!!! :wink: