Monsite01    Monsite02    Monsite03    Php01    Php02    Win01    Win02    Retour

-Ph01-


Je poursuis ma tentative de vous initier à l'écriture de pages sur le web ... maintenant en PHP (Pré Html Programme)
____________________

Cela se corse mais je resterai simple et ... efficace !
____________________


Comme nous changeons de registre, il sera nécessaire de posséder un ordinateur personnel capable de faire fonctionner un émulateur PHP. En effet et pour ma part, j'ai désiré installer EasyPhp dans plusieurs de mes ordinateurs et cela ne fonctionnait pas toujours.

Pour ce faire, j'ai tapé simplement easyphp sur mon navigateur qui déambule sur le web et j'ai cliqué sur "Download EasyPHP Devserver 17.0.". J'ai accepté son téléchargement dans mon ordi et j'ai actionné l'exécutable arrivé dans mes téléchargements. Après son installation, j'ai affiché les icônes cachées présents dans ma barre des taches et j'ai cliqué sur l'icône de Devserver. J'ai cliqué sur Open Dashboard. Quelques instants et un nouvel écran s'est affiché. La première fois, j'ai créé un répertoire nommé EasyPhp dans mon disque D et je l'ai mentionné à ce Devserver en cliquant sur + Add Directory. Maintenant, je clique sur Gene et j'obtiens directement l'écran ci-dessous. je clique et j'active mon premier applicatif index.htm qui me donne mon site internet. C'est ce même index.htm que je mets chez mes hébergeurs de sites sur le web puisque c'est ainsi que cela se présente lorsque vous louez un espace web.

Je suppose que tout s'est bien passé également pour vous et je vais bien sûr le croire pour aller de l'avant.



Pour commencer, il nous faut une base de données. Vous cliquez sur MySQL Administration : PhpMyAdmin 4.7.0 et vous créez votre première base de données nommée : zrbado. Cette base contiendra vos tables de données. Nous allons en créer une tout de suite par programme. Autant que vous ayez tout de suite ce programme pour y parvenir. Bien naturellement, vous serez à même de réaliser des tables plus importantes par la suite.

Avant cela et afin de faciliter notre labeur prochain, je vous invite à créer ce petit programme nommé base.php que vous placerez à coté de index.htm :
<?php
    $conn = mysqli_connect('127.0.0.1','root','','zrbado');
?>

Ce petit programme sera souvent appelé par nos différents applicatifs et déjà par celui-ci nommé creatable.php que vous placerez dans un répertoire nommé Travail
<?php
include ('../base.php');
    mysqli_query ($conn,"CREATE TABLE prem (
        nu INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
        da VARCHAR(30),
        a1 VARCHAR(70),
        a2 VARCHAR(70),
        a3 VARCHAR(70))");
mysqli_close ($conn);
header('location:menu.htm');
?>

Ce programme creatable.php crée donc une table nommée prem avec 5 colonnes dont la première colonne numérote automatiquement vos enregistrements, dans la deuxième colonne sera indiquée la date et dans les trois dernières colonnes nommées a1, a2, a3, nous pourrons y écrire des données avec 70 caractères au maximum.

Avant de lancer ce programme de création d'une table, nous allons placer d'autres programmes dans le répertoire Travail. Vous devriez vite comprendre pourquoi ...

Programme nommé ecriture.php à placer dans le répertoire Travail
<?php
$da=date("j-m-Y");
include ('../base.php');
    mysqli_query ($conn,"INSERT INTO prem (da,a1,a2,a3) VALUES ('$da','textes','Prem','4335')" );
mysqli_close($conn);
header('location:menu.htm');
?>


Programme nommé lecture.php à placer dans le répertoire Travail (il ne lit que le premier enregistrement)
<?php
include ('../base.php');
    $rep = mysqli_query($conn,'SELECT * FROM prem ');
    $dat = mysqli_fetch_array($rep);
    echo '<BR>nu= '.$dat['nu'].' <BR>date : '.$dat['da'].' <BR>a1= '.$dat['a1'].' <BR>a2= '.$dat['a2'].' <BR>a3= '.$dat['a3'];
    mysqli_free_result ($rep);
mysqli_close ($conn);
echo '<BR><BR><a href=menu.htm>Retour</a>';
?>


Programme nommé toutlire.php
<?php
include ('../base.php');
    $rep = mysqli_query($conn,'SELECT * FROM prem ');
    while($dat = mysqli_fetch_array($rep))
    {
    echo '<BR>nu= '.$dat['nu'].' <BR>date : '.$dat['da'].' <BR>a1= '.$dat['a1'].' <BR>a2= '.$dat['a2'].' <BR>a3= '.$dat['a3'].'<BR>';
    }
    mysqli_free_result ($rep);
mysqli_close ($conn);
echo '<BR><BR><a href=menu.htm>Retour</a>';
?>


Un autre nommé modification.php à placer également dans le répertoire Travail (il ne modifie que le premier enregistrement)
<?php
include ('../base.php');
    mysqli_query ($conn,'UPDATE prem SET a2 ="modification",a3="215" WHERE nu="1" ');
mysqli_close ($conn);
header('location:menu.htm');
?>


Un autre nettoyage.php pour nettoyer cette table prem
<?php
include ('../base.php');
    mysqli_query ($conn,'TRUNCATE TABLE prem ');
mysqli_close ($conn);
header('location:menu.htm');
?>


Un petit dernier nommé destruction.php pour détruire cette table prem (si vous demandez de lire la table ensuite, des méchancetés vous seront affichées)
<?php
include ('../base.php');
    mysqli_query ($conn,'DROP TABLE prem ');
mysqli_close ($conn);
header('location:menu.htm');
?>


Je n'oublie pas ce programme qui va nous permettre d'actionner ces applicatifs séparément. Nous le nommerons menu.htm dans le répertoire Travail et il sera constitué comme suit :
<HTML>
<BR><BR><a href=creatable.php>Création de la table prem</a>
<BR><BR><a href=ecriture.php>Ecriture dans la table prem</a>
<BR><BR><a href=lecture.php>Lecture de la table prem</a>
<BR><BR><a href=toutlire.php>Lire toute la table prem</a>
<BR><BR><a href=modification.php>Modification de la table prem</a>
<BR><BR><a href=nettoyage.php>Nettoyage de la table prem</a>
<BR><BR><a href=destruction.php>Destruction de la table prem</a>
<BR><BR><a href=../index.htm>Retour</a>
</HTML>


Reste que le fichier index.htm placé au départ de tout va nous permettre d'arriver facilement à ces fonctions avec :
<HTML>
<BR><BR><a href=Travail/menu.htm>La table prem</a>
</HTML>


Pour tester ces programmes : Cliquez ici



____________________

On continue !
____________________


Vous avez remarqué que je n'ai pas réalisé un beau programme de présentation des différents applicatifs précèdents. Je sais que vous avez bien suivi mes tabloïds sur le html et vous êtes à même de réaliser ce qu'il vous plaît. Restons orienté vers le Php afin de ne considérer que lui en apprentissage.

Vous vous demandez à quoi peut bien servir l'écriture de textes ou de chiffres donc des nombres dans une table de données. Le premier exemple qui vient à l'esprit concerne ce qui suit et les matheux vont être râvis car ce petit topo leur est dédié.

Ne quittons pas le répertoire Travail et glissons-y ces petits programmes qui, tout doucement, vont vous faire acquérir des notions compliquées mais simplettes sur le Php !

creadeux.php avec :
<?php
include ('../base.php');
    mysqli_query ($conn,"CREATE TABLE deux (
        nu INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
        da VARCHAR(30),
        a1 VARCHAR(70),
        a2 VARCHAR(70),
        a3 VARCHAR(70))");
mysqli_close ($conn);
header('location:menu2.htm');
?>


ecritdeux.php avec :
<?php
$da=date("j-m-Y");$n=0;
include ('../base.php');
    while ($n<=9)
    {
    $n=$n+1;$a1=chr(rand(65,90)).chr(rand(100,122)).chr(rand(100,122));$a2=rand(0,200)/10;
    mysqli_query ($conn,"INSERT INTO deux (da,a1,a2) VALUES ('$da','$a1','$a2')" );
    }
mysqli_close($conn);
header('location:menu2.htm');
?>


liredeux.php ainsi :
<?php
include ('../base.php');
    $rep = mysqli_query($conn,'SELECT * FROM deux '); $nb = mysqli_num_rows($rep);
    while($dat = mysqli_fetch_array($rep))
    {
    echo '<BR>nu= '.$dat['nu'].' date : '.$dat['da'].'   Nom= '.$dat['a1'].'   Note= '.$dat['a2'].'<BR>';
    }
    mysqli_free_result ($rep);
mysqli_close ($conn);
echo ' <BR> Nombre de notes ='.$nb;

$c="a2";
    include ('../base.php');
        $somme = mysqli_query($conn,'SELECT SUM('.$c.') FROM deux ');
        $data = mysqli_fetch_array($somme);
        if ($nb!=0) { $m=$data['0']/$nb; echo '<BR>Moyenne = '.intval(round($m*100))/100;};
        mysqli_free_result ($somme);
    mysqli_close($conn);

    include ('../base.php');
        $somme = mysqli_query($conn,'SELECT SUM(pow('.$c.',2)) FROM deux ');
        $data = mysqli_fetch_array($somme);
        if ($nb!=0) {$u=sqrt($data['0']/$nb -pow($m,2)); echo '<BR>Ecart-type = '.intval(round($u*1000))/1000;};
        mysqli_free_result ($somme);
    mysqli_close($conn);

echo '<BR><BR><a href=menu2.htm>Retour</a>';
?>


nettdeux.php
<?php
include ('../base.php');
    mysqli_query ($conn,'TRUNCATE TABLE deux ');
mysqli_close ($conn);
header('location:menu2.htm');
?>


et ce lien vers nos nouveaux programmes :
menu2.htm
<HTML>
<BR><BR><a href=creadeux.php>Création de la table deux</a>
<BR><BR><a href=ecritdeux.php>Ecriture dans la table deux</a>
<BR><BR><a href=liredeux.php>Lire toute la table deux</a>
<BR><BR><a href=nettdeux.php>Nettoyage de la table deux</a>
<BR><BR><a href=../index.htm>Retour</a>
</HTML>


Pour tester ces programmes : Cliquez ici



____________________

Je complique pour votre bien !
____________________


Je vous propose ces petits applicatifs qui, mine de rien, permettent de faire bien plus et votre savoir n'en sera que plus achalandé !
Mettons toujours dans le dossier Travail ces choses :

gmenu.htm
<HTML>
<BR><BR><a href=gcrea.php>Création d'une table</a>
<BR><BR><a href=gecrit.php>Ecrire dans une table</a>
<BR><BR><a href=glire.php>Lire une table</a>
<BR><BR><a href=gnett.php>Nettoyer une table</a>
<BR><BR><a href=gdetr.php>Détruire une table</a>
<BR><BR><a href=../index.htm>Retour</a>
</HTML>


gcrea.php
<?php header('Content-type: text/html; charset=iso-8859-1');
if(isset($_POST['nom']) and $_POST['nom']!="")
{
$nom=$_POST['nom'];
echo ' <BR>La table '.$nom.' existe à présent...';
include ('../base.php');
    mysqli_query ($conn,"CREATE TABLE $nom (
        nu INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
        da VARCHAR(30),
        a1 VARCHAR(70),
        a2 VARCHAR(70),
        a3 VARCHAR(70))");
mysqli_close ($conn);
echo '<BR><BR><a href=gmenu.htm>Retour</a>';
}
else
{
echo '
<FORM action="gcrea.php"method="post">
    <BR>Quel nom voulez-vous donner à cette nouvelle table :
        <input type="text" name="nom"> <input class=deux type="submit" value="ENVOYER"><BR>
</FORM>';
}
?>


gecrit.php
<?php header('Content-type: text/html; charset=iso-8859-1');
if(isset($_POST['nom']) and $_POST['nom']!="")
{
$nom=$_POST['nom'];$da=date("j-m-Y");$n=0;
include ('../base.php');
    while ($n<=9)
    {
    $n=$n+1;$a1=chr(rand(65,90)).chr(rand(100,122)).chr(rand(100,122));$a2=rand(0,200)/10; $a3=rand(100,999);
    mysqli_query ($conn,"INSERT INTO $nom (da,a1,a2,a3) VALUES ('$da','$a1','$a2','$a3')");
    }
mysqli_close($conn);
echo 'C\'est fait ... <BR><BR><a href=gmenu.htm>Retour</a>';
}
else
{
echo '
<FORM action="gecrit.php"method="post">
    <BR>Dans quelle table voulez-vous écrire ?
        <input type="text" name="nom"> <input class=deux type="submit" value="ENVOYER"><BR>
</FORM>';
}
?>


glire.php
<?php header('Content-type: text/html; charset=iso-8859-1');
if(isset($_POST['nom']))
{
$nom=$_POST['nom'];echo '<BR>Lecture de la table : '.$nom.'<BR>';
include ('../base.php');
    $rep=mysqli_query($conn,'SELECT * FROM '.$nom.' ');
    while($dat=mysqli_fetch_array($rep))
    {
    echo '<BR>nu= '.$dat['nu'].' date : '.$dat['da'].' a1= '.$dat['a1'].' a2= '.$dat['a2'].' a3= '.$dat['a3'].'<BR>';
    }
    mysqli_free_result ($rep);
mysqli_close ($conn);
echo '<BR><BR><a href=gmenu.htm>Retour</a>';
}
else
{
echo '
<FORM action="glire.php"method="post">
    <BR>Quelle table voulez-vous lire ?
        <input type="text" name="nom"> <input class=deux type="submit" value="ENVOYER"><BR>
</FORM>';
}
?>


gnett.php
<?php header('Content-type: text/html; charset=iso-8859-1');
if(isset($_POST['nom']))
{
$nom=$_POST['nom'];echo '<BR>La table '.$nom.' a été nettoyée ...<BR>';
include ('../base.php');
    mysqli_query ($conn,'TRUNCATE TABLE '.$nom.' ');
mysqli_close ($conn);
echo '<BR><BR><a href=gmenu.htm>Retour</a>';
}
else
{
echo '
<FORM action="gnett.php"method="post">
    <BR>Quelle table voulez-vous nettoyer ?
        <input type="text" name="nom"> <input class=deux type="submit" value="ENVOYER"><BR>
</FORM>';
}
?>


gdetr.php
<?php header('Content-type: text/html; charset=iso-8859-1');
if(isset($_POST['nom']))
{
$nom=$_POST['nom'];echo '<BR>La table '.$nom.' a été détruite ...<BR>';
include ('../base.php');
    mysqli_query ($conn,'DROP TABLE '.$nom.' ');
mysqli_close ($conn);
echo '<BR><BR><a href=gmenu.htm>Retour</a>';
}
else
{
echo '
<FORM action="gdetr.php"method="post">
    <BR>Quelle table voulez-vous détruire ?
        <input type="text" name="nom"> <input class=deux type="submit" value="ENVOYER"><BR>
</FORM>';
}
?>


Pour tester ces programmes : Cliquez ici

Remarques :
Je tiens à vous faire remarquer qu'avec SELECT * FROM , TRUNCATE TABLE , DROP TABLE il faut écrire '.$nom.' à la suite avec '. et .'
alors qu'avec CREATE TABLE et INSERT INTO il faut écrire simplement $nom !!! Cela tient certainement au fait que ces deux derniers ordres nécessitent l'introduction de données avec des parenthèses
Je vous laisse découvrir ce qu'il en est avec UPDATE ...

Egalement, je ne vous l'ai pas dit mais vous l'avez compris par vous-même, l'ordre : header('Content-type: text/html; charset=iso-8859-1'); permet de demander à php d'écrire tous les textes en Français, c'est à dire avec nos merveilleuses lettres accentuées.

De plus, quand vous demandez à Php d'afficher des phrases avec echo, il y a cet antislash \ avant l'apostrophe ' car et vous vous en êtes rendu compte, l'apostrophe ' joue un zôle très important avec Php. Donc cet ' que l'on utilise à tour de bras dans la langue Française doit être géré au mieux. Quand vous avez un programme qui ne tourne pas correctement, examinez ces ' car c'est souvent la cause de ce non fonctionnement.





____________________

Nous passons à présent à des choses très sérieuses
____________________


Je sais que vous avez du courage et c'est parfait car dans ce topo, nous allons traiter de la réception de données ou de fichiers images, textes, pdf dont nous engrangerons les noms dans la table de données ommée trois et ce qui est physique ira dans le dossier plus ...

Nous allons encore construire un menu contenant des applicatifs qui pourront servir par la suite car réaliser des applicatifs identiques pour chaque cours, cela devient fastidieux au possible !!
Construisons ce menu, je l'ai mis également en php pour plus de facilités

himenu.php
<?php header('Content-type: text/html; charset=iso-8859-1');
echo '
<HTML>
<BR><BR><a href=hiacqu1.php>Acquisition de données pour la table trois</a>
<BR><BR><a href=hifich1.php>Acquisition de fichiers pour la table trois</a>
<BR><BR><a href=hifich3.php>Lire les données ou les fichiers de la table trois</a>
<BR>
<BR><BR><a href=gencrea.php?prog=himenu >Créer une table</a>
<BR><BR><a href=genlire.php?prog=himenu >Lire une table</a>
<BR><BR><a href=gennett.php?prog=himenu >Nettoyer une table</a>
<BR><BR><a href=gendetr.php?prog=himenu >Détruire une table</a>
<BR><BR><a href=../index.htm>Retour</a>
</HTML>';
?>


A la lecture de ce texte, vous comprenez qu'il faudra créer une table nommée trois avec toujours les mêmes colonnes, on en a bien assez pour acquérir ces notions sur le php.

il y a ensuite les différents programmes à placer toujours dans le dossier Travail.
Dans ce dossier travail, il faut créer un dossier nommé plus pour recueillir tous les fichiers images, textes ou pdf. Construisez bien vite de dossier afin de ne pas l'oublier !

hiacqu1.php
<?php header('Content-type: text/html; charset=iso-8859-1');
echo '
<FORM action="hiacqu2.php" method="post">
    <BR><BR> Donnée a1= <input type="text" name="a1">
    <BR><BR> Donnée a2= <input type="text" name="a2">
    <BR><BR> Donnée a3= <input type="text" name="a3">
    <BR><BR><input type="submit" value="ENVOYER"><BR>
</FORM>
    <BR><BR><a href=himenu.php> Retour</a>';
?>


hiacqu2.php
<?php header('Content-type: text/html; charset=iso-8859-1');
$a1=$_POST['a1']; $a2=$_POST['a2']; $a3=$_POST['a3'];
$da=date("j-m-Y");
include ('../base.php');
    mysqli_query($conn,"INSERT INTO trois (da,a1,a2,a3) VALUES ('$da','$a1','$a2','$a3')" );
mysqli_close($conn);
echo 'Vos données ont été enregistrées : a1='.$a1.' a2='.$a2.' et a3='.$a3;
echo '<BR><BR><a href=himenu.php>Retour</a>';
?>


hifich1.php
<?php header('Content-type: text/html; charset=iso-8859-1');
echo '
<FORM enctype="multipart/form-data" action="hifich2.php" method="post">
    <BR><BR> Fichier fi1= <input type="file" name="fi1">
    <BR><BR> Fichier fi2= <input type="file" name="fi2">
    <BR><BR> Fichier fi3= <input type="file" name="fi3">
    <BR><BR><input type="submit" value="ENVOYER"><BR>
</FORM>
    <BR><BR><a href=himenu.php> Retour</a>';
?>


hifich2.php
<?php $da=date("j-m-Y");
// on simplifie les extensions des fichiers
    $remp=array('jpeg'=>'jpg','JPEG'=>'jpg','JPG'=>'jpg','PDF'=>'pdf','GIF'=>'gif','PNG'=>'png','TXT'=>'txt' );
        $fi1=strtr($_FILES['fi1']['name'],$remp);
        $fi2=strtr($_FILES['fi2']['name'],$remp);
        $fi3=strtr($_FILES['fi3']['name'],$remp);
    echo '<BR><BR> fi1='.$fi1.' <BR>fi2='.$fi2.' <BR>fi3='.$fi3;
// on élimine les lettres à problèmes
    $rempl=array(' '=>'a','\''=>'_','à'=>'a','â'=>'a','é'=>'e','è'=>'e','ê'=>'e','ë'=>'e','î'=>'i','ï'=>'i','ô'=>'o','ö'=>'o','ù'=>'u','û'=>'u','ü'=>'u','ç'=>'c');
        $fi1=strtr(substr(basename($fi1),-8,8),$rempl);
        $fi2=strtr(substr(basename($fi2),-8,8),$rempl);
        $fi3=strtr(substr(basename($fi3),-8,8),$rempl);
    echo '<BR><BR> fi1='.$fi1.' <BR>fi2='.$fi2.' <BR>fi3='.$fi3;
// on crée les noms des fichiers et on les place dans le dossier plus
    $ext=array("txt","jpg","pdf","gif","png");
        if (in_array(substr($fi1,-3,3),$ext))
            { $fic1=rand(100,999).chr(rand(65,90)).$fi1; $fich1="plus/".$fic1; move_uploaded_file($_FILES['fi1']['tmp_name'], $fich1); } else { $fic1=""; }
        if (in_array(substr($fi2,-3,3),$ext))
            { $fic2=rand(100,999).chr(rand(65,90)).$fi2; $fich2="plus/".$fic2; move_uploaded_file($_FILES['fi2']['tmp_name'], $fich2); } else { $fic2=""; }
        if (in_array(substr($fi3,-3,3),$ext))
            { $fic3=rand(100,999).chr(rand(65,90)).$fi3; $fich3="plus/".$fic3; move_uploaded_file($_FILES['fi3']['tmp_name'], $fich3); } else { $fic3=""; }
    echo '<BR><BR> fi1='.$fic1.' <BR>fi2='.$fic2.' <BR>fi3='.$fic3;
include ('../base.php');
    mysqli_query($conn,"INSERT INTO trois (da,a1,a2,a3) VALUES ('$da','$fic1','$fic2','$fic3')" );
mysqli_close($conn);
echo '<BR><BR><a href=himenu.php> Retour</a>';
?>


hifich3.php
<?php header('Content-type: text/html; charset=iso-8859-1'); $page="";
include ('../base.php');
    $rep=mysqli_query($conn,'SELECT * FROM trois ');
    while($dat=mysqli_fetch_array($rep))
    {
        echo '<BR>nu='.$dat['nu'].' <BR>date : '.$dat['da'].' <BR>a1='.$dat['a1'].' <BR>a2='.$dat['a2'].' <BR>a3='.$dat['a3'].'<BR><BR>';
// Lecture des fichiers
    $fi1='plus/'.$dat['a1'];$fi2='plus/'.$dat['a2'];$fi3='plus/'.$dat['a3'];
    $ext1=array("jpg","gif","png"); $ext2=array("txt"); $ext3=array("pdf");
        if (in_array(substr($fi1,-3,3),$ext1) and is_file($fi1))
            { echo $fi1.'<center><IMG border=0 src="'.$fi1.'" ></center><BR>'; }
        if (in_array(substr($fi1,-3,3),$ext2) and is_file($fi1))
            { echo $fi1; $fp=fopen ($fi1,"r");while (!feof($fp)) {$page.=fgets($fp, 4096).'<BR>';} fclose($fp); echo $page; echo '<BR>'; }
        if (in_array(substr($fi1,-3,3),$ext3) and is_file($fi1))
            { echo $fi1; echo ' <center>Cliquez sur   <a href="'.$fi1.'" target="_blank"><IMG border=0 alt="" src="plus/pdf.jpg" ></a></center><BR>';}

        if (in_array(substr($fi2,-3,3),$ext1) and is_file($fi2))
            { echo $fi2.'<center><IMG border=0 src="'.$fi2.'" ></center><BR>'; }
        if (in_array(substr($fi2,-3,3),$ext2) and is_file($fi2))
            { echo $fi2; $fp=fopen ($fi2,"r");while (!feof($fp)) {$page.=fgets($fp, 4096).'<BR>';} fclose($fp); echo $page; echo '<BR>'; }
        if (in_array(substr($fi2,-3,3),$ext3) and is_file($fi2))
            { echo $fi2; echo ' <center>Cliquez sur   <a href="'.$fi2.'" target="_blank"><IMG border=0 alt="" src="plus/pdf.jpg" ></a></center><BR>';}

        if (in_array(substr($fi3,-3,3),$ext1) and is_file($fi3))
            { echo $fi3.'<center><IMG border=0 src="'.$fi3.'" ></center><BR>'; }
        if (in_array(substr($fi3,-3,3),$ext2) and is_file($fi3))
            { echo $fi3; $fp=fopen ($fi3,"r");while (!feof($fp)) {$page.=fgets($fp, 4096).'<BR>';} fclose($fp); echo $page; echo '<BR>'; }
        if (in_array(substr($fi3,-3,3),$ext3) and is_file($fi3))
            { echo $fi3; echo ' <center>Cliquez sur   <a href="'.$fi3.'" target="_blank"><IMG border=0 alt="" src="plus/pdf.jpg" ></a></center><BR>';}
    }
    mysqli_free_result ($rep);
mysqli_close ($conn);
echo '<BR><BR><a href=himenu.php> Retour</a><BR><BR>';
?>


Les programmes qui suivent sont génériques pour ce petit cours sur le Php. ils sont presque identiques à ceux précédents avec la possibilité de revenir au programme qui les appelle. Un truc formidable ...

gencrea.php
<?php header('Content-type: text/html; charset=iso-8859-1'); $prog=$_GET['prog'];
if(isset($_POST['nom']) and $_POST['nom']!="")
{
$nom=$_POST['nom'];
echo ' <BR>La table '.$nom.' existe à présent...';
include ('../base.php');
    mysqli_query ($conn,"CREATE TABLE $nom (
        nu INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
        da VARCHAR(30),
        a1 VARCHAR(70),
        a2 VARCHAR(70),
        a3 VARCHAR(70))");
mysqli_close ($conn);
echo '<BR><BR><a href='.$prog.'.php>Retour</a>';
}
else
{
echo '
<FORM action="gencrea.php?prog='.$prog.'" method="post">
    <BR>Quel nom voulez-vous donner à cette nouvelle table :
        <input type="text" name="nom"> <input class=deux type="submit" value="ENVOYER"><BR>
</FORM>';
}
?>


genlire.php
<?php header('Content-type: text/html; charset=iso-8859-1'); $prog=$_GET['prog'];
if(isset($_POST['nom']))
{
$nom=$_POST['nom'];echo '<BR>Lecture de la table : '.$nom.'<BR>';
include ('../base.php');
    $rep=mysqli_query($conn,'SELECT * FROM '.$nom.' ');
    while($dat=mysqli_fetch_array($rep))
    {
    echo '<BR>nu='.$dat['nu'].' date : '.$dat['da'].' a1='.$dat['a1'].' a2='.$dat['a2'].' a3='.$dat['a3'].'<BR>';
    }
    mysqli_free_result ($rep);
mysqli_close ($conn);
echo '<BR><BR><a href='.$prog.'.php>Retour</a>';
}
else
{
echo '
<FORM action="genlire.php?prog='.$prog.'" method="post">
    <BR>Quelle table voulez-vous lire ?
        <input type="text" name="nom"> <input class=deux type="submit" value="ENVOYER"><BR>
</FORM>';
}
?>


gennett.php
<?php header('Content-type: text/html; charset=iso-8859-1'); $prog=$_GET['prog'];
if(isset($_POST['nom']))
{
$nom=$_POST['nom'];echo '<BR>La table '.$nom.' a été nettoyée ...<BR>';
include ('../base.php');
    mysqli_query ($conn,'TRUNCATE TABLE '.$nom.' ');
mysqli_close ($conn);
echo '<BR><BR><a href='.$prog.'.php>Retour</a>';
}
else
{
echo '
<FORM action="gennett.php?prog='.$prog.'" method="post">
    <BR>Quelle table voulez-vous nettoyer ?
        <input type="text" name="nom"> <input class=deux type="submit" value="ENVOYER"><BR>
</FORM>';
}
?>


gendetr.php
<?php header('Content-type: text/html; charset=iso-8859-1'); $prog=$_GET['prog'];
if(isset($_POST['nom']))
{
$nom=$_POST['nom'];echo '<BR>La table '.$nom.' a été détruite ...<BR>';
include ('../base.php');
    mysqli_query ($conn,'DROP TABLE '.$nom.' ');
mysqli_close ($conn);
echo '<BR><BR><a href='.$prog.'.php>Retour</a>';
}
else
{
echo '
<FORM action="gendetr.php?prog='.$prog.'" method="post">
    <BR>Quelle table voulez-vous détruire ?
        <input type="text" name="nom"> <input class=deux type="submit" value="ENVOYER"><BR>
</FORM>';
}
?>


Pour tester ces programmes : Cliquez ici

Remarques :
Ben ... je me demande si j'ai des remarques à vous faire ...
A part que vous constatez à nouveau que je n'enjolive absolument pas ces programmes avec de l'html. Vous y penserez après quand vous aurez assimilé ces merveilleuses notions de Php, ici en version 7.3


Monsite01    Monsite02    Monsite03    Php01    Php02    Win01    Win02    Retour