Codes sources PHP

Ajouter un nouvel élément

ang CLASS PHP :: REQUÊTES MYSQL

Éditeur : Filipe Gomes + 125 Ko
Je propose une class PHP très pratique qui vous permettra de gagner du temps lorsque vous aurez besoin de lancer des requêtes SQL. En effet, celle-ci a été conçue pour lancer une requête SQL à vitesse grand « V ». Tout est présent: INSERT, UPDATE, COUNT, SELECT, DELETE et c'est pas tout, cette classe vous permet aussi de créer une table SQL ou de la supprimer.
Téléchargement :
Compatibilité :
 

ang Gestion de la base de données

Éditeur : JL BOUCHEZ + 166 Ko
Ces codes sont opérationnels. Testez l'exemple.
Ils consistent à manipuler une table pour la recherche de mots clé.
Cela évite de passer par Phpmyadmin pour faire toutes les manipulations standard :
  • liste de la table
  • Recherche d'un mot clé
  • Différents tris
  • Ajout de mots clé
  • Création d'enregistrements
  • Suppression d'enregistrements
  • ...


Je m'en sers sur mon site. Essayez le moteur de recherche interne et vous verrez par vous-même (tapez par exemple : trojan).

La table SQL est dans le fichier .rar, et si vous êtes ailleurs que chez Free, créez d'abord la base de donnée

Définissez la configuration pour la connexion dans le fichier admin_recherche/config/config_inc.php.
Mais si voulez le mettre dans le répertoire "recherche", il faut modifier le chemin dans tous les fichiers.

Attention : le répertoire"admin_recherche"n'est pas sécurisé !
Téléchargement :
Compatibilité :
Windows  

ang Faire des requêtes préparées avec l'extension mysql

Licence : Creative Commons
L'extension Mysql commence à bien vieillir et est maintenant uniquement en correction de bug, l'extension mysqli la remplace, et PDO possède aussi un driver mysql. (plus d'info ici : http://fr2.php.net/manual/fr/mysqli.overview.php)

Avec PDO on a vite pris l'habitude de faire des requêtes préparées, de part sa simplicité, mais aussi sa couche sécuritaire. Mais il y'a malheureusement encore des résistants du mysql_* (coucou PHP 4) qui eux n'ont pas de requêtes préparées avec l'api. Et rien n'empêche d'en faire ;)

Je vous propose donc trois fonctions supplémentaires pour mysql_* :
- mysql_prepare
- mysql_execute

Et en bonus :
- mysql_fetch_all (compatible avec les mysql_fetch_*)

Adresse du projet : https://github.com/stealth35/mysql_prepare

Exemple d'utilisation :

ini_set('mysql.trace_mode', true);
mysql_connect('localhost', 'root', '');
mysql_select_db('test');
mysql_set_charset('utf8');

$stmt = mysql_prepare('SELECT * FROM `test` WHERE `id` > ? LIMIT ?');
$result = mysql_execute(array(5, 3), $stmt);

echo '';
print_r(mysql_fetch_all($result, 'object'));
echo '';
Téléchargement :
Compatibilité :
Linux Mac Windows  

ang Classe d'upload de fichiers avec options de redimensionnement, renommage, gestion des erreurs

Licence : Libre 71 Ko


Cette classe d'upload et redimensionnement est conçue pour offrir de multiples possibilités pour une configuration minimale.

Compatible php >= 5.1

Fonctions principales (options) :

- Contrôle des extensions.
- Renomme un fichier (mode incrémental ou suffixe unique) si un fichier de même nom se trouve sur le serveur.
- Choix du nom du fichier de destination (compatible avec la fonctionnalité précédente).
- Redimensionnement multiple (ou unique) en sauvegardant ou non l'image originale.
- Upolad multiple.
- Gestion des erreurs.
- Retour messages d'informations pour le visiteur (paramétrable).
- Retour tableau de résultat pour enregistrement en bdd.

Exemples d'utilisation

Dans les exemples d'utilisation vous trouverez également le code nécessaire pour afficher une barre de progession et le temps restant.

Téléchargement :
Compatibilité :
Linux Mac Windows  

ang PhpMyAdmin

Éditeur : phpMyAdmin +
L'outil indispensable pour gérer votre serveur MySQL va une interface web. Gérez vos bases de données, visualisez vos données, exécutez vos scripts SQL...
Téléchargement :
Compatibilité :
Linux Mac Windows  

ang Gestion d'une base de données MySQL

Licence : Autre 6 Ko
Classe de gestion d'une base de données MySQL
Propriétés

  • Connection/Déconnection à une base mysql.

  • Récupération de la liste des bases d'un serveur, des tables d'une base, des champs et index d'une table ;

  • Permet d'exporter une base de données sans l'utilitaire mysqldump.exe ;

  • Exporte la structure complète d'une base sous format XML ;

  • Permet de répliquer une base de donnée maître vers N bases de données esclaves.


Réplication : J'ai créé cette fonction car je suis en hébergement mutualisé sans accès aux fonctions de réplication de mySQL ni aux fichiers de logs de mySQL.
Pour le moment, elle permet de répliquer les

  • Ajout/Modification/Suppression de tables ;

  • Ajout/Modification/Suppression de champs ;

  • Ajout/Modification/Suppression d'index ;

  • Contenus de certaines tables (paramétrées dans un fichier de configuration).


Remarques : Cette version ne tient pas compte des nouveautés des mySQL 5, telles que

  • La classe ;

  • Un exemple de fichier de configuration pour la réplication ;

  • Un fichier d'exemples.

Téléchargement :
Compatibilité :
 

ang Classe table html

Éditeur : Laurent1133 + 128 Ko
La documentation est fourni en .pdf avec le source (voir options)
Téléchargement :
Compatibilité :
 

ang Protéger un espace d'administration

Éditeur : Ludovic Giambiasi + 2 Ko
Ce code permet de protéger l'accès à une page.

Pour l'essayer :

* Lancer la page sur le serveur
* Saisissez les informations telles que le login et le mot de passe
* Cliquer sur OK

Pour changer le login et le mot de passe, regarder dans le code, tout y est expliqué.
Téléchargement :
Compatibilité :
 

ang Insérer, modifier et supprimer un enregistrement

Éditeur : Ludovic Giambiasi + 2 Ko
* Première chose à faire: créer une table dans votre base de données

On travaille avec la table suivante :

create table essai(
code_essai int(11) not null auto_increment,
remplissage varchar(100) not null,
primary key(code_essai)
);

* Editez le fichier 'connexion.php' et modifier les variables de connection à votre base de données.
Téléchargement :
Compatibilité :
 

ang Gérer des listes déroulantes

Licence : Autre
Cette fonction accepte cinq arguments :

1. $name : Le nom du l'élément select.
2. $array_value : Le tableau des valeurs de l'élément select.
3. $array_selected : Le tableau des valeurs sélectionnées.
4. $multiple : Valeur bolléenne indiquant si l'élément select est multiple ou simple.
5. $size : Taille du menu.

Mise en oeuvre :
Prenons l'exemple d'un menu déroulant des régions françaises :
Cas où les valeurs sont issues d'un tableau PHP :

$region = array (
1 => 'Alsace' ,
2 => 'Aquitaine' ,
3 => 'Auvergne' ,
4 => 'Basse-Normandie' ,
5 => 'Bourgogne' ,
6 => 'Bretagne' ,
7 => 'Centre' ,
8 => 'Champagne-Ardenne' ,
9 => 'Corse' ,
10 => 'Dom-Tom' ,
11 => 'Franche-Comté' ,
12 => 'Haute-Normandie' ,
13 => 'Ile de France' ,
14 => 'Languedoc-Roussillon' ,
15 => 'Limousin' ,
16 => 'Lorraine' ,
17 => 'Midi-Pyrénées' ,
18 => 'Nord-Pas-de-Calais' ,
19 => 'Pays de la Loire' ,
20 => 'Picardie' ,
21 => 'Poitou-Charentes' ,
22 => 'PACA' ,
23 => 'Rhône-Alpes'
) ;

Dans la page HTML il suffit de faire :
Pour une liste simple

echo listbox ( 'region' , $region ) ;

Pour une liste simple avec une valeur pré-sélectionnée
echo listbox ( 'region' , $region , 4 ) ;

Pour une liste simple avec une valeur pré-sélectionnée et conservation d'une valeur après envoit
echo listbox ( 'region' , $region , ( isset ( $_POST['region'] ) ? $_POST['region'] : 4 ) ) ;

Pour une liste multiple
echo listbox ( 'region' , $region , array() , 1 , 6 ) ;

Pour une liste multiple avec des valeurs pré-sélectionnées
echo listbox ( 'region' , $region , array ( 4 , 5 , 6 , 7 ) , 1 , 6 ) ;

Pour une liste multiple avec des valeurs pré-sélectionnées et conservation des valeurs après envoit
echo listbox ( 'region' , $region ,
( isset ( $_POST['region'] ) ? $_POST['region'] : array ( 4 , 5 , 6 , 7 ) ) , 1 , 6 ) ;



Cas où les valeurs sont issues de la base :

CREATE TABLE region (
id TINYINT( 4 ) NOT NULL AUTO_INCREMENT ,
name TEXT,
PRIMARY KEY ( id )
);

INSERT INTO region (name) VALUES ( 'Alsace' );
INSERT INTO region (name) VALUES ( 'Aquitaine' );
INSERT INTO region (name) VALUES ( 'Auvergne' );
INSERT INTO region (name) VALUES ( 'Basse-Normandie' );
INSERT INTO region (name) VALUES ( 'Bourgogne' );
INSERT INTO region (name) VALUES ( 'Bretagne' );
INSERT INTO region (name) VALUES ( 'Centre' );
INSERT INTO region (name) VALUES ( 'Champagne-Ardenne' );
INSERT INTO region (name) VALUES ( 'Corse' );
INSERT INTO region (name) VALUES ( 'Dom-Tom' );
INSERT INTO region (name) VALUES ( 'Franche-Comté' );
INSERT INTO region (name) VALUES ( 'Haute-Normandie' );
INSERT INTO region (name) VALUES ( 'Ile de France' );
INSERT INTO region (name) VALUES ( 'Languedoc-Roussillon' );
INSERT INTO region (name) VALUES ( 'Limousin' );
INSERT INTO region (name) VALUES ( 'Lorraine' );
INSERT INTO region (name) VALUES ( 'Midi-Pyrénées' );
INSERT INTO region (name) VALUES ( 'Nord-Pas-de-Calais' );
INSERT INTO region (name) VALUES ( 'Pays de la Loire' );
INSERT INTO region (name) VALUES ( 'Picardie' );
INSERT INTO region (name) VALUES ( 'Poitou-Charentes' );
INSERT INTO region (name) VALUES ( 'PACA' );
INSERT INTO region (name) VALUES ( 'Rhône-Alpes' );

Puis :
$sql = "SELECT name FROM region" ;
$result = mysql_query ( $sql ) ;
$region = array() ;
while ( $row = mysql_fetch_assoc ( $result ) )
{
$region[] = $row['name'] ;
}

Ensuite, c'est pareil ...
Téléchargement :
Compatibilité :
 

ang protection.zip

Éditeur : Ludovic Giambiasi + 2 Ko
Ce code permet de protéger l'accès à une page.

Pour l'essayer :

* Lancer la page sur le serveur
* Saisissez les informations telles que le login et le mot de passe
* Cliquer sur OK

Pour changer le login et le mot de passe, regarder dans le code, tout y est expliqué.
Téléchargement :
Compatibilité :
Linux Mac Windows  

ang calendar-mysql.zip

Licence : Autre 10 Ko
Script de gestion de calendrier et d'évènements avec une base de données.

Deux versions sont disponibles : MySQL (pour hébergement mutualisé) et PDO (pour tous types de bases de données).
Téléchargement :
Compatibilité :
Linux Mac Windows  

ang MySQL : Affichage du résultat d'une requête dans un tableau

Licence : Autre
Ce code permet d'exécuter une requête MySQL et d'en afficher le résultat dans un tableau avec un résultat par ligne et les noms des champs en titre de colonne.
Téléchargement :
Compatibilité :
 

ang Connaître l'ip réelle du visiteur

Licence : Autre
Connaître l'ip réelle du visiteur
Téléchargement :
Compatibilité :
 

ang Class Debug

Licence : GPL 16 Ko
  • utilisez un autoloader de classe pour vous simplifier la vie
  • j'utilise ça preque exclusivement en version statique, pour faire des sites spaghettis
  • Debug::var_dump()
  • Debug::here() si vous utilisez des output buffer (ob_start)
  • Debug::printStack()
  • Debug::describeState()
  • c'est documenté pour phpdocumentor (enfin la partie la plus utile = statique )
  • s'active et se desactive partout sans pb de visibilité avec Debug::$inhibit
  • fonctionne dans le shell Debug::outputHTML



je suis pointilleux pour le coté GPL2. je répond au message par MP si vous trouvez un bug (dans la classe, pas dans votre code).
Téléchargement :
Compatibilité :
 

ang Script de calendrier avec events en infobulles (MySQL)

Licence : Autre 10 Ko
Script de gestion de calendrier et d'évènements avec une base de données.

Deux versions sont disponibles : MySQL (pour hébergement mutualisé) et PDO (pour tous types de bases de données).
Téléchargement :
Compatibilité :
 

ang Pagination d'un résultat de requête

Licence : Autre
Cette source est basée sur un exemple afin de mieux comprendre.
Pour le bon fonctionnement du code, nous devons créer la table utiliser et y ajouter des enregistrements :

CREATE TABLE `xmen` (
`id` int(11) NOT NULL auto_increment,
`personnage` varchar(255) NOT NULL default '',
`acteur` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=12 ;

INSERT INTO `xmen` VALUES (1, 'Wolverine', 'Hugh Jackman');
INSERT INTO `xmen` VALUES (2, 'Magneto', 'Ian McKellen');
INSERT INTO `xmen` VALUES (3, 'Professeur X', 'Patrick Stewart');
INSERT INTO `xmen` VALUES (4, 'Docteur Jean Grey', 'Famke Janssen');
INSERT INTO `xmen` VALUES (5, 'Tornade', 'Halle Berry');
INSERT INTO `xmen` VALUES (6, 'Cyclope', 'James Marsden');
INSERT INTO `xmen` VALUES (7, 'Malicia', 'Anna Paquin');
INSERT INTO `xmen` VALUES (8, 'Dents-de-Sabre', 'Tyler Mane');
INSERT INTO `xmen` VALUES (9, 'Crapaud', 'Ray Park');
INSERT INTO `xmen` VALUES (10, 'Mystique', 'Rebecca Romijn');
INSERT INTO `xmen` VALUES (11, 'Pyro', 'Alex Burton');
Téléchargement :
Compatibilité :
 

ang Générer une liste dynamique et garder la valeur selectionnée

Éditeur : hugues dupont +
bonjour,
je partage avec vous ce code que vous cherchez tous.

je cherchais à créer une liste de personnes avec pour id leur n° de matricule, où seul apparait le nom de l'agent.
Puis, je voulais garder uniquement le matricule de l'agent pour l'insérer dans d'autres requêtes.

Je suis autodidacte en programmation, mon code est peut-être dans tous les sens mais au final, il fonctionne.
C'est bien là l'essentiel
Téléchargement :
Compatibilité :
Windows  

ang upload.zip

Éditeur : Ludovic Giambiasi + 1489 octet
Voici une façon très simple pour gérer les uploads.
L'upload, c'est le transfert de fichiers de votre disque dur vers l'Internet.
Habituellement, pour faire ce type de manipulation, on passe par le ftp. Ce qui veut dire dans le code : une connexion par ftp, des codes avec des fonctions ftp. Ici on va se servir des formulaires pour exécuter des fonctions autres que celles inclusent dans la bibliothèque FTP.
Téléchargement :
Compatibilité :
Linux Mac Windows  

ang Sauvegarder des données dans un fichier depuis une Base de Données

Licence : Autre 2 Ko
Le code présenté ici a pour but de sauvegarder des données dans un fichier sous forme de requête SQL.
Il y a différentes manières de sauvegarder les données. Habituellement, on les sauvegarde brutes, sans le "insert", juste avec un délimiteur. Mais ce n'est pas le cas dans ce code.
La sauvegarde du contenu de la table sera fait comme ceci :

insert into abonnes values('ma_valeur1', 'ma_valeur2')

Opération à effectuer avant utilisation :

1. En premier lieu, vous devez créer la table abonnes que voici :

CREATE TABLE abonnes (
mail varchar(60) NOT NULL,
date date NOT NULL,
PRIMARY KEY (mail)
);

Puis y insérer quelques valeurs :

1. Vous devez modifier vos paramètres de connexion dans le fichier "connexion.php"
Téléchargement :
Compatibilité :
 

96 éléments

Connexion

Identifiant
Mot de passe
S'inscrireMot de passe oublié ?
 
 
 
 
Partenaires

Hébergement Web