Fulbert / SI6 / Base du PHP

lud28
3,965 views

Open Source Your Knowledge, Become a Contributor

Technology knowledge has to be shared and made accessible for free. Join the movement.

Create Content

Débutter en PHP !

Pour les étudiants SISR

*     Script d'initiation à PHP CRUD
*    C --> Création --> Insert
*    R --> Read --> SELECT
*    U --> Update
*    D --> Delete
*
*    Pour toi Public de SIO 1  !!!
*
*    Penser à avoir votre serveur web apache démarré qui écoute sur le port 80
*    Penser à avoir votre Serveur MySQL démarré qui écoute localement (127.0.0.1) sur le port 3306
*    Placer ce fichier dans un dossier correspondant à votre projet (mkdir debutterphp)
*    Placer ce dossier dans le repertoire de publication d'apache (C:\wamp\www) pour ceux qui bossent sous wamp.
*    Créer la base de données "debutterphp" ou avec un autre nom mais adapter votre code sous MySQL (perso j'utilise phpmyadmin mais vous pouvez faire autrement)
*    Créer la table "profs" (ou un autre nom mais il faudra adapter le code notamment la requete SQL)
*    Insérez y des données.
*    Tester votre code avec un navigateur en faisant http://127.0.0.1/debutterphp
*    La gestion des noms de domaine de type www.monsite.fr peut se faire si on maitrise DNS et la configuration de VHost sous Apache
*    Et oui le Systeme (SI1, SI5) ça peut servir !


N'oublie pas de virer les commentaires sur les instructions importantes (qui ne peuvent être testés sur cette plateforme, et oui je n'ai pas accès à un serveur MySQL sur tech.io ) !

Fichier commun de connexion au Serveur SQL

<?php
        /*
            Fichier: connexion.php
        */

        //Se connecter au serveur SQL
        $user='root';
        $pass='';
        $connexion = new PDO('mysql:host=127.0.0.1;dbname=debutterphp', $user, $pass, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
        //var_dump($connexion);
?>

Fichier d'accueil : Opération Read : Listing

<?php
include("connexion.php");
	
	//Toujours debugguer sa requete SQL en la plaçant dans une variable
	$sql="SELECT * from profs";
	//var_dump($sql);
	
	//Exécution de la requete et recupération du jeu d'enregistrement (aussi appelé Curseur)
	$jeu=$connexion->query($sql);
	//var_dump($jeu);
	
?>

<html>
	<h1>Listing des profs</h1>
	<table border="1">
		<tr>
			<th></th>
			<th></th>
			<th>id</th>
			<th>nom</th>
			<th>prenom</th>
		</tr>
		<?php
		//Itération Pour chaque Ligne (Row) du Jeu d'enregistrement($jeu)
		foreach($jeu as $row){?>
		<tr>
			<td><a href="delete.php?id=<?php echo $row["id"] ?>">Supprimer</a></td>
			<td><a href="update.php?id=<?php echo $row["id"] ?>">modifier</a></td>
			<td><?php echo $row["id"] ?></td>
			<td><?php echo $row["nom"]  ?></td>
			<td><?php echo $row["prenom"]  ?></td>
		</tr>
		<?php } ?>
	</table>
	
	<a href="formprofs.php">Créer un prof</a>
</html>

Fichier formprofs.php

<?php

    if(isset($_POST["bt_submit"])){
        var_dump($_POST);

        //Se connecter au serveur SQL
        include("connexion.php");

        //Toujours debugguer sa requete SQL en la plaçant dans une variable
        $_id=htmlentities($_POST["txt_id"]);
        $_nom=htmlentities($_POST["txt_nom"]);
        $_prenom=htmlentities($_POST["txt_prenom"]);


        $sql="INSERT INTO profs VALUES (:leid, :lenom, :leprenom)";
        //var_dump($sql);

        try{
            $stmt = $connexion->prepare($sql);        

            $stmt->bindParam(':leid', $_id);
            $stmt->bindParam(':lenom', $_nom);
            $stmt->bindParam(':leprenom', $_prenom);

            $stmt->execute();
            header('Location: index.php'); 
        }
        catch(PDOException $exception){
            var_dump($exception);
        }
    }
    else{            
    ?>

    <html>
        <form action="#" method="POST">

            <label for="_id">Identifiant</label>
            <input id="_id" type="text" name="txt_id">

            <br/>

            <label for="_nom">Nom</label>
            <input id="_nom" type="text" name="txt_nom">

            <br/>

            <label for="_prenom">Prenom</label>
            <input id="_prenom" type="text" name="txt_prenom">

            <br/>

            <input type="submit" name="bt_submit" value="Valider">

        </form>
    </html>
    <?php }?>

Fichier delete.php : Opération Delete

<?php
        /*
            Fichier: delete.php
        */
    if(isset($_GET["id"])){

        //Se connecter au serveur SQL
        include("connexion.php");

        $leid=$_GET["id"];

        $sql="DELETE FROM profs WHERE (id=$leid)";
        var_dump($sql);

        $count = $connexion->exec($sql);

        echo "$count enregistrements supprimés";
        echo "<br/>";
        echo "<a href=\"index.php\">retour</a>";
    }
    else{
        //redirection sur la page d'accueil
        header('Location: index.php'); 
    }
?>
Open Source Your Knowledge: become a Contributor and help others learn. Create New Content