moogli

  • Signature
    Il en faut peu pour être heureux !!!!!
  • Site web
  • Nombre de sujets
    33
  • Nombre de messages
    1 802
  • Nombre de commentaires
    6
  • Nombre de news
    Aucune
  • Niveau en PHP
    Excellent

Ses derniers messages sur les forums

moogli
le 04/12/2004 à 19:19
Problème avec mes "\" !!!
Salut,

c'est parce que chez toi et en ligne vous n'avez pas la même configuration de magic_quote_gpc.

un p'tit script (une class) qui enlève ou ajoute les suivant la config de php (si tu change tout le temps peu y avoir des soucis mais en général sa tourne au poil :

class_magic_quote
<?php
/*************************/
/* Class pour verifier magic quote gpc et runtime */
/* magic_quote_gpc : permet d'ajouter les slashes sur les saisis utilisateur permmet d'eviter
les addslashes.
Magic_quote_runtime : permet de supprimer les slashes (evite stripslashes).... BDD, fichier*/
/************************************/
// Pour pas de souci, il faut magic_quote_runtime=0ff et magic_quote_gpc =On
class magic_quote {
// Définition des methodes
//var ...;

// Définition du constructeur (si besoin)
function magic_quote () {
//contructeur
}
//proprietés
//verifie si magic_quote_gpc ==1
function Myaddslashes($chaine) {
return (get_magic_quotes_gpc() == 1 ? $chaine : addslashes($chaine) );
}

function Mystripslashes($chaine) {
return (get_magic_quotes_runtime() == 1 ? stripslashes($chaine) : $chaine );
//avant y avait get_magic_quotes_gpc:(
}
}//fin de la class
?>


sa fonctionne comme sa :

utilisation
<?php
// on commence par instancier la class
$magic_quote = new magic_quote;
$chaine_sans_slashes = $magic_quote->Mystripslashes($chaine_avec_slashes);
//pareil pour Myaddslashes.
?>
Il en faut peu pour être heureux !!!!!
moogli
le 04/12/2004 à 19:12
Installer sa bdd via php
oué mé y a de la concurence :) :bound:

thx ;king: smiley

smiley
Il en faut peu pour être heureux !!!!!
moogli
le 04/12/2004 à 17:29
V3
lu,

On est tous fan :)

Petite question peut tu réemployer le script qui mettais directement les scripts trop sur le wall ? (je m'était habitué et c'est rapide smiley)

mici

smiley
Il en faut peu pour être heureux !!!!!
moogli
le 04/12/2004 à 17:26
Installer sa bdd via php
Salut,

Bibi je te propose une tite association pour réinventer la roue !

Perso j'ai un script de dump de base mysql :)

my_admin.php
<?php
$nom_base="";//Nom de la table ici
$table_sql="Tables_in_".$nom_base;
$base = mysql_connect('localhost','root','');
mysql_select_db($nom_base,$base);
//on essai d'avoir toute les tables
$sql = 'SHOW TABLES';
$req = mysql_query($sql) or die ('Erreur sql :'.mysql_error());
$nb_table = mysql_num_rows($req);
//$table=array(array());
//REcupe des noms des tables
while ($data = mysql_fetch_object($req))
{
$table[$data->$table_sql]='';
}
//On a le nom de toute les tables il faut maintenant créer un fichier avec les requetes qui vont avec
//print_r($table);
mysql_free_result($req);

foreach ($table as $nom_table => $champ)
{
//On parcour $table pour avoir la descriptoin de chaque table
$sql_des = 'DESCRIBE '.$nom_table;
$req_des = mysql_query($sql_des) or die ('Erreur sql lors de la description des table :'.mysql_error());
while ($data = mysql_fetch_object($req_des))
{
$table[$nom_table][$data->Field]['Type']=$data->Type;
$table[$nom_table][$data->Field]['Null']=$data->Null;
$table[$nom_table][$data->Field]['Key']=$data->Key;
$table[$nom_table][$data->Field]['Default']=$data->Default;
$table[$nom_table][$data->Field]['Extra']=$data->Extra;
}
mysql_free_result($req_des);

}
//On a la structure de toute les tables on va (pour l'instant) afficher la requete de création de la table avec commentaire avant pour dire le nom de la table :)
//On crée nom de fichier apartir du nom de la base et time stamp pour éviter de niquer u autre fichier
$nom_fichier = $nom_base.'_'.date("U").'.sql';
//Ouverture du fichier
$fp = fopen($nom_fichier,"wb");//création du fichier s'il n'existe pas
//Définition des entetes
$comment_head = '-------------------------------------------------
--
-- Utilitaire de dump de base MySQL (V 1.0)
-- par Moogli => moogli_gl@yahoo.fr
--
-- Base de donnée : '.$nom_base.'
-- Cette base contient '.$nb_table.' table(s).
-- Fichier crée le '.date("d/m/Y").' à '.date("H:i:s")."\n---------------------------------------------------\n\n";
//On met l'entete dans le fichier
fputs($fp,$comment_head);
//$comment_table = "--Struture de la table :";
$i=0;
foreach ($table as $nom_table => $champ)
{
//print_r($champ);
//pour chaque table nom de la table=> $nom_table, nom des champ $champ[]
$structure = 'CREATE TABLE `'.$nom_table.'` (
';
foreach ($champ as $nom_champ=> $value) {
// $clef contient type, null,key,default,extra
$structure.= '`'.$nom_champ.'` '.$champ[$nom_champ]['Type'];
if ($champ[$nom_champ]['Null'] == "") {
$structure .= ' NOT NULL ';
}
else {
$structure .= ' NULL ';
}
$structure .= ' default \''.$champ[$nom_champ]['Default'].'\'';
if ($champ[$nom_champ]['Extra'] != "") $structure .= ' '.$champ[$nom_champ]['Extra'];
$structure .= ',
';
if ($champ[$nom_champ]['Key']=='PRI') $prim_key = $nom_champ;
if ($champ[$nom_champ]['Key']=='KEY') $key .= $nom_champ.',';
$list_champ[$nom_table][]=$nom_champ;
}
//On a presque tout fait on verifie s'il y a ue clef primaire
if (isset($prim_key) && $prim_key!="")
{
$structure .= " PRIMARY KEY (`'.$prim_key.'`)\n";
}
else {
$tructure = substr($structure,0,strlen($struture)-1);//enlève la vigule dû au dernier champ
}
if (isset($key) && $key != '')
{
$tab = explode(',',$key);
foreach($tab as $clef)
{
if ($clef!="") {
$struture .= ",\nKEY (`$clef`)\n";
}
}
}
$structure .= ") TYPE=MyISAM;\n\n";
$structure_table[$nom_table]=$structure;
//recupe de infos a insérer de la table en cours

$sql_sel = 'SELECT * FROM '.$nom_table;
$req_sel = mysql_query($sql_sel) or die ('Erreur selection (pour insert) => '.mysql_error());
if (mysql_num_rows($req_sel)!= 0) {
//On a des données dans la table !
while ($data = mysql_fetch_object($req_sel))
{
$in = 'INSERT INTO '.$nom_table.' VALUES(';
$nb = count($list_champ[$nom_table]);
foreach ($list_champ[$nom_table] as $valeurduchamp)
{
--$nb;
if ($nb !=0){
$in .= '"' . $data->$valeurduchamp .'", ';
}
else {
$in .= '"' . $data->$valeurduchamp .'" ';
}
}
$in .= ");";
$insert[$nom_table][]=preg_replace("/(.)?\\n/","\\r\\n",$in);
//$insert[$nom_table][]=$in;
}
}
else {
//On a aucun tuple on insert dans la table un champ vide
$insert[$nom_table][] = '';
}
mysql_free_result($req_sel);
//Insertion dans le fichier de la structure de la tables ainsi que des données.
$pointille = "-------------------------------------------------";
$comment_table = "--\n--Struture de la table : $nom_table\n--\n\n";
//Insertion dans le fichier de la structure de la table et des info
//Nom de la table
fputs($fp,$comment_table);
//structure de la table
fputs($fp,$structure.'
');
//Contenu de la table
$contenu = "--\n--Contenu de la table :$nom_table\n--\n\n";
$contenu .= join("\n",$insert[$nom_table])."\n$pointille\n";

fputs($fp,$contenu); //addslashes() ?

}
fclose($fp);
mysql_close();
//On met un lien vers le fichier
echo 'Le fichier de sauvegarde se trouve <a href="./',$nom_fichier,'" target="_blank">ici</a>';
?>


Avec sa + ton truc a toi et deux trois vérif pour virer les simples et doubles quotes des fichiers pour éviter les erreurs.
Une petite interface interface graphique et se fait Da Dump smiley

Qu'est ce t'en pense smiley

m'enfin moi pers il m'interesse ton script :)
Mici smiley

Ps : j'ai pas retrouvé le poste ou j'avais bazardé sa :)
Il en faut peu pour être heureux !!!!!
moogli
le 01/12/2004 à 05:27
Technique de Conception
Salut,

perso je fait aussi un header, un footer mais aussi pseudo frame classic, cela permet d'évité d'avoir trop de page (j'en ai déja une centaine alors je limite).

un article sur include et ses 'possibilité',
tu regardera l'url en même temps => url rewriting, avec le mode rewrite d'apache tu peut utiliser des url du genre index-page.php ..

@+
Il en faut peu pour être heureux !!!!!
moogli
le 01/12/2004 à 01:18
V3
et merde j'arrive aprsè la bataille :)

j'aime bien le coup du nom de fichier c'est pas mal !

@+
Il en faut peu pour être heureux !!!!!
moogli
le 01/12/2004 à 01:02
V3
re,

je viens de voir que dans les passage de code y a pas de passage a la ligne sa fait des patés :), si la ligne ets trop grande elle dépasse du cadre blanc.

c'est vrai qu'un truc qui démarque le texte des cours, comment faire astuce (style quote) se serait mieux !
j'ai vu aussi qu'on avait pu le droit au html dans les signatures, donc je fait pu malin, je change smiley.

Les similies cliquable j'amais bien aussi smiley

Sinon j'aime bien le menu de droite, sa met bien en valeur le moteur de recherche et les manuels ainsi que tes productions :).

ben voila je crois que cirage de pompe et critique sont finis pour ce soir, encore beau boulot et merci !

Ps : laisse tomber le mail que j et'est envoyer j'ai ma réponse smiley

smiley
Il en faut peu pour être heureux !!!!!
moogli
le 01/12/2004 à 00:42
V3
vache y a po mal de nouvo bo smiley pour noël smiley

juste en passant je préférais quand les post était séparé par une ligne si non j'aime bien :) beau boulot !!!

Je regrette juste d'avoir perdi mes étoiles smiley (je m'était habitué) et puis en rouge sa permettais de reconnaitre les modo admins c'est pas mal !

merci pour tout c'est super smiley

@+
Il en faut peu pour être heureux !!!!!
moogli
le 30/11/2004 à 23:33
SESSION
salut,

dans le même sens que mojorisin, si ton server est configurer pour ne pas afficher les erreurs et que tu en as une tu auras un page blanche.

Cette (ces ?) erreur(s) peuvent être dûs, comme le souligne mojorisin, a une config différente des register globals, par exemple tu code pour register global = On et les server a register_global =Off.

Le phpinfo devrait t'indiquer tout cela.
j'en profite au passe, si le server tourne sous php3 ou un "vieux" php4 (inferieur a php 4.1.0 il est possible que des variables comme post et get n'existe pas, il faudra alors utiliser $HTTP_POST_VARS et $HTTP_GET_VARS...

@+
Il en faut peu pour être heureux !!!!!
moogli
le 30/11/2004 à 23:33
SESSION
salut,

dans le même sens que mojorisin, si ton server est configurer pour ne pas afficher les erreurs et que tu en as une tu auras un page blanche.

Cette (ces ?) erreur(s) peuvent être dûs, comme le souligne mojorisin, a une config différente des register globals, par exemple tu code pour register global = On et les server a register_global =Off.

Le phpinfo devrait t'indiquer tout cela.
j'en profite au passe, si le server tourne sous php3 ou un "vieux" php4 (inferieur a php 4.1.0 il est possible que des variables comme post et get n'existe pas, il faudra alors utiliser $HTTP_POST_VARS et $HTTP_GET_VARS...

@+
Il en faut peu pour être heureux !!!!!
LoadingChargement en cours