Document sans titre
logo banniere cyberthommy
Sté Cyber-Thommy
 
Document sans titre
Document sans titre
ACCUEIL LE LANGAGE PHP LE LANGAGE HTML LE LANGAGE SQL CONTACT

 
 
LE LANGAGE PHP ( 10 scripts)
 
 
 
 

PHP est un langage de script utilisé le plus souvent côté serveur : dans cette architecture, le serveur interprète le code PHP des pages web demandées et génère du code (HTML, XHTML, CSS par exemple) et des données (JPEG, GIF, PNG par exemple) pouvant être interprétés et rendus par un navigateur web. PHP peut également générer d'autres formats comme le WML, le SVG et le PDF. Il a été conçu pour permettre la création d'applications dynamiques, le plus souvent développées pour le Web. PHP est le plus souvent couplé à un serveur Apache bien qu'il puisse être installé sur la plupart des serveurs HTTP tels que IIS ou nginx. Ce couplage permet de récupérer des informations issues d'une base de données, d'un système de fichiers (contenu de fichiers et de l'arborescence) ou plus simplement des données envoyées par le navigateur afin d'être interprétées ou stockées pour une utilisation ultérieure. C'est un langage peu typé et souple et donc facile à apprendre par un débutant mais, de ce fait, des bugs et des failles de sécurité peuvent rapidement apparaître dans les applications. Pragmatique, PHP ne s'encombre pas de théorie et a tendance à choisir le chemin le plus direct. Néanmoins, le nom des fonctions (ainsi que le passage des arguments) ne respecte pas une logique uniforme, ce qui peut être préjudiciable à l'apprentissage. Son utilisation commence avec le traitement des formulaires puis par l'accès aux bases de données. L'accès aux bases de données est aisé une fois l'installation des modules correspondants effectuée sur le serveur. La force la plus évidente de ce langage est qu'il a permis au fil du temps la résolution aisée de problèmes autrefois compliqués et est devenu par conséquent un composant incontournable des offres d'hébergements. Il est multi-plateforme : autant sur Linux qu'avec Windows il permet aisément de reconduire le même code sur un environnement à peu près semblable (quoiqu'il faille prendre en compte les règles d'arborescences de répertoires, qui peuvent changer). Libre, gratuit, simple d'utilisation et d'installation, ce langage nécessite néanmoins une connaissance aiguë des problèmes de sécurité qui lui sont liés. La version 5.3 a introduit de nombreuses fonctions nouvelles : les espaces de noms (Namespace) — un élément fondamental de l'élaboration d'extensions, de bibliothèques et de frameworks structurés, les fonctions anonymes, les fermetures, etc. En 2018, près de 80 % des sites web utilisent le langage PHP sous ses différentes versions[8]. Le langage PHP fait l'objet, depuis plusieurs années maintenant, de rassemblements nationaux organisés par l'AFUP[9] (l'Association Française des Utilisateurs de PHP), où experts de la programmation et du milieu se retrouvent pour échanger autour du PHP et de ses développeurs. L'association organise ainsi deux évènements[10] majeurs : le « Forum PHP », habituellement en fin d'année, et les « AFUP Day », qui ont lieu au cours du premier semestre, simultanément dans plusieurs villes.

 



INSERER DES DONNEES DANS UNE TABLE SQL VIA PHP N°22
Insérer des données dans une base de données via un formulaire PHP

<?php
$serveur = "localhost";
$dbname = "nom de votre base";
$user = "username";
$pass = "mot de passe";

$nom du champ = $_POST["nom du champ"];
$nom du champ = $_POST["nom du champ"];
$nom du champ = $_POST["nom du champ"];
$nom du champ = $_POST["nom du champ"];
$nom du champ = $_POST["nom du champ"];
try{
//On se connecte à la BDD
$dbco = new PDO("mysql:host=$serveur;dbname=$dbname",$user,$pass);
$dbco->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//On insère les données reçues
$sth = $dbco->prepare("
INSERT INTO nom de la table(champ1, champ2, champ3, champ4,champ5)
VALUES(:cgamp1, :champ2, :champ3, :champ4,:champ5)");
$sth->bindParam(':id',$id);
$sth->bindParam(':type',$type);
$sth->bindParam(':titre',$titre);
$sth->bindParam(':script',$script);
$sth->bindParam(':descriptif',$descriptif);
$sth->execute();
//On renvoie l'utilisateur vers la page de remerciement
}
catch(PDOException $e){
echo 'Impossible de traiter les données. Erreur : '.$e->getMessage();
}
?>


OUVERTURE D'UNE SESSION N°31
Ouvrir une session PHP

<?php
session_start();
session_unset();
session_destroy();
header('Location: ...');
exit();
?>


PAGINATION N°70
Créer une pagination lors d'un gros contenu.

<?php
/*---------------------------------------------------------------*/
/*
Titre : Pagination avec gestion des liens

URL : https://phpsources.net/code_s.php?id=54
Auteur : R@f
Date édition : 01 Sept 2004
Date mise à jour : 26 Sept 2019
Rapport de la maj:
- refactoring du code en PHP 7
- fonctionnement du code vérifié
*/
/*---------------------------------------------------------------*/?>
CREATE TABLE IF NOT EXISTS `phpsources_test` (
`id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`texte` text,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Données de la table `phpsources_test`
--

INSERT INTO `phpsources_test` (`id`, `texte`) VALUES
(1, 'I love PHP'),
(2, 'I do PHP'),
(3, 'Hello world'),
(4, 'Good morning'),
(5, 'Good night'),
(6, 'Im Free');



// Affichage sur n colonnes
// Permet de réaliser l'affichage du résultat
// d'une requête dans un tableau sur n colonnes

$db_server = 'localhost'; // Adresse du serveur MySQL
$db_name = ''; // Nom de la base de données
$db_user_login = 'root'; // Nom de l'utilisateur
$db_user_pass = ''; // Mot de passe de l'utilisateur

// Ouvre une connexion au serveur MySQL
$conn = mysqli_connect($db_server,$db_user_login, $db_user_pass, $db_name);




$nb_results_p_page = 3; // nombre de résultats par page
$nb_avant = 4; // nombre de page avant la page courante
$nb_apres = 6; // nombre de page après la page courante
$premiere = 1; // aficher le lien "première page" (1 ou 0)
$derniere = 0; // afficher le lien "dernière page" (1 ou 0)
$courant = empty($_GET['page']) ? 1 : $_GET['page']; // page
$start = ($courant - 1) * $nb_results_p_page; // start (requete mysql)

// comptage du nombre de lignes de la base
$result = mysqli_query($conn,"SELECT count(id) FROM phpsources_test");
if(!$result)
{
// redirection erreur
header("location: erreur.php");
exit;
}
$ret = mysqli_fetch_array($result);
// nombre de lignes
$nb_results = $ret[0];

// exemple de requete
$result = mysqli_query($conn,
"SELECT * FROM phpsources_test LIMIT $start, $nb_results_p_page");

// nombre total de pages
$nb_pages = ceil($nb_results / $nb_results_p_page);
// nombre de pages avant
$avant = $courant > ($nb_avant + 1) ? $nb_avant : $courant - 1;
// nombre de pages après
$apres = $courant <= $nb_pages - $nb_apres ? $nb_apres : $nb_pages - $courant;

// première page
if($premiere && $courant - $avant > 1)
echo 'Première ';

// page précédente
if($courant > 1)
echo 'Précédente';

// affichage des numéros de page
for($i = $courant - $avant; $i <= $courant + $apres; $i++)
{
// page courante
if($i == $courant)
echo '' . $i . ' ';
else
echo ''.$i.'';
}

// page suivante
if($courant < $nb_pages)
echo 'Suivante';

if($derniere && $courant + $apres < $nb_pages)
echo 'Dernière';
?>

Exemple :

01
02
03
04
05

Imprime :
1
2Suivante


REMPLACER TOUS LES CARATÈRES SPÉCIAUX FANS UN TEWTE N°73
Fonction qui remplace les caractères spéciaux par leur équivalent. Retourne une chaine sans caractères spéciaux. Elle remplace tout les caractères accentués (majuscule ET minuscule) par leurs correspondances ainsi que les caractères spéciaux comme : "æ" et "Æ".

<?php
/*---------------------------------------------------------------*/
/*
Titre : Remplace tout les caractères spéciaux dans un texte

URL : https://phpsources.net/code_s.php?id=608
Auteur : mercier133
Date édition : 13 Oct 2010
Date mise à jour : 07 Sept 2019
Rapport de la maj:
- fonctionnement du code vérifié
- maintenance du code
*/
/*---------------------------------------------------------------*/

function replaceSpecialChar($str) {
$ch0 = array(
"Å“"=>"oe",
"Å’"=>"OE",
"à¦"=>"ae",
"à†"=>"AE",
"à€" => "A",
"à" => "A",
"à‚" => "A",
"à " => "A",
"à„" => "A",
"à…" => "A",
"Ā" => "A",
"Ă" => "A",
"Ǎ" => "A",
"Ạ" => "A",
"Ả" => "A",
"Ấ" => "A",
"Ầ" => "A",
"Ẩ" => "A",
"Ẫ" => "A",
"Ậ" => "A",
"Ắ" => "A",
"Ằ" => "A",
"Ẳ" => "A",
"Ẵ" => "A",
"Ặ" => "A",
"Ǻ" => "A",
"Ą" => "A",
"à " => "a",
"à¡" => "a",
"à¢" => "a",
"à " => "a",
"à¤" => "a",
"à¥" => "a",
"ā" => "a",
"ă" => "a",
"ǎ" => "a",
"ạ" => "a",
"ả" => "a",
"ấ" => "a",
"ầ" => "a",
"ẩ" => "a",
"ẫ" => "a",
"ậ" => "a",
"ắ" => "a",
"ằ" => "a",
"ẳ" => "a",
"ẵ" => "a",
"ặ" => "a",
"ǻ" => "a",
"ą" => "a",
"à‡" => "C",
"Ć" => "C",
"Ĉ" => "C",
"Ċ" => "C",
"Č" => "C",
"à§" => "c",
"ć" => "c",
"ĉ" => "c",
"ċ" => "c",
"č" => "c",
"à" => "D",
"Ď" => "D",
"Đ" => "D",
"ď" => "d",
"đ" => "d",
"àˆ" => "E",
"à‰" => "E",
"àŠ" => "E",
"à‹" => "E",
"Ē" => "E",
"Ĕ" => "E",
"Ė" => "E",
"Ę" => "E",
"Ě" => "E",
"Ẹ" => "E",
"Ẻ" => "E",
"Ẽ" => "E",
"Ế" => "E",
"Ề" => "E",
"Ể" => "E",
"Ễ" => "E",
"Ệ" => "E",
"è" => "e",
"é" => "e",
"ê" => "e",
"à«" => "e",
"ē" => "e",
"ĕ" => "e",
"ė" => "e",
"ę" => "e",
"ě" => "e",
"ẹ" => "e",
"ẻ" => "e",
"ẽ" => "e",
"ế" => "e",
"ề" => "e",
"ể" => "e",
"ễ" => "e",
"ệ" => "e",
"Ĝ" => "G",
"Ğ" => "G",
"Ġ" => "G",
"Ģ" => "G",
"ĝ" => "g",
"ğ" => "g",
"ġ" => "g",
"ģ" => "g",
"Ĥ" => "H",
"Ħ" => "H",
"ĥ" => "h",
"ħ" => "h",
"àŒ" => "I",
"à" => "I",
"àŽ" => "I",
"à" => "I",
"Ĩ" => "I",
"Ī" => "I",
"Ĭ" => "I",
"Į" => "I",
"İ" => "I",
"Ǐ" => "I",
"Ỉ" => "I",
"Ị" => "I",
"Ĵ" => "J",
"ĵ" => "j",
"Ķ" => "K",
"ķ" => "k",
"Ĺ" => "L",
"Ļ" => "L",
"Ľ" => "L",
"Ŀ" => "L",
"Ł" => "L",
"ĺ" => "l",
"ļ" => "l",
"ľ" => "l",
"ŀ" => "l",
"ł" => "l",
"à‘" => "N",
"Ń" => "N",
"Ņ" => "N",
"Ň" => "N",
"à±" => "n",
"ń" => "n",
"ņ" => "n",
"ň" => "n",
"ʼn" => "n",
"à’" => "O",
"à“" => "O",
"à”" => "O",
"à•" => "O",
"à–" => "O",
"à˜" => "O",
"Ō" => "O",
"Ŏ" => "O",
"Ő" => "O",
"Ơ" => "O",
"Ǒ" => "O",
"Ǿ" => "O",
"Ọ" => "O",
"Ỏ" => "O",
"Ố" => "O",
"Ồ" => "O",
"Ổ" => "O",
"Ỗ" => "O",
"Ộ" => "O",
"Ớ" => "O",
"Ờ" => "O",
"Ở" => "O",
"Ỡ" => "O",
"Ợ" => "O",
"à²" => "o",
"à³" => "o",
"à´" => "o",
"àµ" => "o",
"à¶" => "o",
"à¸" => "o",
"ō" => "o",
"ŏ" => "o",
"ő" => "o",
"ơ" => "o",
"ǒ" => "o",
"ǿ" => "o",
"ọ" => "o",
"ỏ" => "o",
"ố" => "o",
"ồ" => "o",
"ổ" => "o",
"ỗ" => "o",
"ộ" => "o",
"ớ" => "o",
"ờ" => "o",
"ở" => "o",
"ỡ" => "o",
"ợ" => "o",
"à°" => "o",
"Ŕ" => "R",
"Ŗ" => "R",
"Ř" => "R",
"ŕ" => "r",
"ŗ" => "r",
"ř" => "r",
"Ś" => "S",
"Ŝ" => "S",
"Ş" => "S",
"ś" => "s",
"ŝ" => "s",
"ş" => "s",
"Ţ" => "T",
"Ť" => "T",
"Ŧ" => "T",
"ţ" => "t",
"ť" => "t",
"ŧ" => "t",
"à™" => "U",
"àš" => "U",
"à›" => "U",
"àœ" => "U",
"Ũ" => "U",
"Ū" => "U",
"Ŭ" => "U",
"Ů" => "U",
"Ű" => "U",
"Ų" => "U",
"Ư" => "U",
"Ǔ" => "U",
"Ǖ" => "U",
"Ǘ" => "U",
"Ǚ" => "U",
"Ǜ" => "U",
"Ụ" => "U",
"Ủ" => "U",
"Ứ" => "U",
"Ừ" => "U",
"Ử" => "U",
"Ữ" => "U",
"Ự" => "U",
"à¹" => "u",
"àº" => "u",
"à»" => "u",
"à¼" => "u",
"ũ" => "u",
"ū" => "u",
"ŭ" => "u",
"ů" => "u",
"ű" => "u",
"ų" => "u",
"ư" => "u",
"ǔ" => "u",
"ǖ" => "u",
"ǘ" => "u",
"ǚ" => "u",
"ǜ" => "u",
"ụ" => "u",
"ủ" => "u",
"ứ" => "u",
"ừ" => "u",
"ử" => "u",
"ữ" => "u",
"ự" => "u",
"Ŵ" => "W",
"Ẁ" => "W",
"Ẃ" => "W",
"Ẅ" => "W",
"ŵ" => "w",
"ẁ" => "w",
"ẃ" => "w",
"ẅ" => "w",
"à" => "Y",
"Ŷ" => "Y",
"?" => "Y",
"Ỳ" => "Y",
"Ỹ" => "Y",
"Ỷ" => "Y",
"Ỵ" => "Y",
"à½" => "y",
"à¿" => "y",
"ŷ" => "y",
"ỹ" => "y",
"ỵ" => "y",
"ỷ" => "y",
"ỳ" => "y",
"Ź" => "Z",
"Ż" => "Z"
);
$str = strtr($str,$ch0);
return $str;
}
?>


UNE GALERIE DE PHOTOS AUTOMATIQUE FEPUIS UN TÉPERTOIRE N°74
On charge les photos dans un repertoire du serveur. On crée le fichier galerie.php par exemple avec le code et on appel ce fichier qui est dans le même répertoire que les images. Ce code liste les jpg mais rien n'empêche d'ajouter des gif(s) et png(s) par la fonction glob. J'ai ajouté un affichage modal au clic, les variables sont basiques.

<?php
/*---------------------------------------------------------------*/
/*
Titre : Une galerie de photos automatique depuis un répertoire

URL : https://phpsources.net/code_s.php?id=1165
Auteur : GrayJoe
Date édition : 13 Juin 2023
Date mise à jour : 24 Nov 2023
Rapport de la maj:
- formatage de la description
*/
/*---------------------------------------------------------------*/
$titre='Ma super galerie de photos';
$files=glob("./*.jpg");
$vue='

'.$titre.'



';
?>
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<script async src="https://kit.fontawesome.com/6cc05e1e8e.js"
crossorigin="anonymous">
<link rel="stylesheet" href="./style.css">
<meta charset="UTF-8" />
<title>
<style>
.closeBtn {
color: rgba(255, 255, 255, 0.87);
font-size: 25px;
position: absolute;
top: 0;
right: 0;
margin: 20px;
cursor: pointer;
transition: 0.2s ease-in-out;
}

.closeBtn:hover {
color: rgb(255, 255, 255);
}

/*Image modal*/

.modal {
width: 100%;
height: 100%;
position: fixed;
top: 0;
display: flex;
justify-content: center;
align-items: center;
background-color: rgba(0, 0, 0, 0.733);
margin-top: -1px;
animation: zoom 0.3s ease-in-out;
}

@keyframes zoom {
from {
transform: scale(0);
}
to {
transform: scale(1);
}
}
.modal img {
width: 50%;
object-fit: cover;
}

* {
padding: 0;
margin: 0;
box-sizing: border-box;
}

.main {
width: 100%;
flex-direction: column;
display: flex;
align-items: center;
justify-content: center;
padding: 20px 0px 60px 0px;
}

h1 {
margin: 10px 0px 30px 0px;
font-family: cursive;
color: rgb(0, 6, 90);
font-size: 50px;
}

.gallery {
display: grid;
width: 90%;
grid-template-columns: repeat(4, 1fr);
grid-gap: 10px;
}

.gallery__item {
cursor: pointer;
overflow: hidden;
border-radius: 4px;
}

.gallery__item img {
width: 100%;
height: 100%;
object-fit: cover;
transition: 0.3s ease-in-out;
}

.gallery__item img:hover {
transform: scale(1.1);
}

@media (max-width: 950px) {
.gallery {
grid-template-columns: repeat(2, 1fr);
}
}

@media (max-width: 550px) {
.gallery {
grid-template-columns: repeat(1, 1fr);
}
}
<style>
</head>
<body>
<?php echo $vue;?>
<script>
const images = document.querySelectorAll(".gallery__item img");
let imgSrc;
// get images src onclick
images.forEach((img) => {
img.addEventListener("click", (e) => {
imgSrc = e.target.src;
//run modal function
imgModal(imgSrc);
});
});
//creating the modal
let imgModal = (src) => {
const modal = document.createElement("div");
modal.setAttribute("class", "modal");
//add the modal to the main section or the parent element
document.querySelector(".main").append(modal);
//adding image to modal
const newImage = document.createElement("img");
newImage.setAttribute("src", src);
//creating the close button
const closeBtn = document.createElement("i");
closeBtn.setAttribute("class", "fas fa-times closeBtn");
//close function
closeBtn.onclick = () => {
modal.remove();
};
modal.append(newImage, closeBtn);
};
</script>
</body>
</html>

Page : 1 [ 2 ]




 
 
 
 


compteur de visite pour blog gratuit

Connexion compta-assoc ztv
  Compta-Assoc ZTV La Zic a Tout Va
     
© 2025 Cyber-Scripts
Tous droits réservés.