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 27/10/2010 à 19:54
redimensionner plusieurs images proportionnellement
bon je me demande si tu cherche à comprendre ? tu fait pareil sur phpfrance(ton dernier code ressemble a celui d'un certain jojolapine...)?

je t'ai fournis un code qui fonctionne, je l'ai testé !
quand tu a
<?php
if( isset($_FILES['fichier']) ) {
$ret = upload($_FILES['fichier'],'tmpsfolder',$nomImage);
if ($ret === false) {
echo '<p>ouch y a une boulette : </p>';
}
else {
// etc
}?>

si le message ouch y a une boulette s'affiche s'est que la fonction upload retourne false, et que donc (de part le code que j'ai fait) il y a un message d'erreur d'affiché !(ok on peu rajouter deux return false ligne 92 et 96 mais le soucis ne viens pas de la je pense.

quand au fait que le code fasse les 3 redimensionnements c'est exactement ce que fait le code que je t'ai fournis avec le renommage des images en tenant compte de leurs tailles. oui faut utiliser trois fois la fonction redimensionner, ceci pour que la fonction reste le plus possible "universelle" et ne doivent pas être re-coder pour la page suivante !

brefsi tu a eu un message d'erreur c'est parce que l'image a été rejetée (taille, poids, type etc).

la ça devient trop le souk !

@+
Il en faut peu pour être heureux !!!!!
moogli
le 27/10/2010 à 05:54
redimensionner plusieurs images proportionnellement
effectivement il y avait des erreurs
- du a l'heure tardive sur une { manquante et un nom de variable foireux

j'en ai profiter pour corriger la retaille d'image qui ne devait pas bien fonctionner non plus ...

le tout cuit c'est par ici (le tout a mettre dans le même fichier ou modifie le paramètre manquant).

@+
Il en faut peu pour être heureux !!!!!
moogli
le 26/10/2010 à 20:57
Script tout fait
Ajout du truncate pour les tables (le drop existe déja dans la liste des tables, je peut le remettre a coté du truncate a voir pour la suivante)
Modif pour support de Mysql 4 (test à finir)

coté design je n'ai pas réussi, je verrais plus tard :-)~

@+
Il en faut peu pour être heureux !!!!!
moogli
le 25/10/2010 à 16:27
Problème de jointure entre 2 tables
il faut ajouter le nom des champs dans la requête insert de l'espace membre.

lorsque l'on fait : insert into table values( ....) Mysql s'attend a ce que tous les champs de la table soit renseigné, du coup il y a une erreur quand c'est le cas (comme ici puisque les champs ont étaient ajouté à posteriori).

il faut modifier la requête ainsi : insert into table (champ1,champ3 etc) values ( valeur des champs).

Il faut donc modifier les requêtes insert du code de la globule pour ajouter les noms des champ de tables qu'il renseigne, et ceci sans pour autant modifier le reste du code :d

@+
Il en faut peu pour être heureux !!!!!
moogli
le 25/10/2010 à 14:03
Problème de jointure entre 2 tables
salut,

pour répondre a la question : il faut ajouter la clef primaire de la table membre dans la table formulaire. la jointure ce fait sur cette clef (dit étrangère ;)).

sur le fond : il n'y a pas besoin d'une table en plus pour ces information. Celle ci peuvent très bien être ajouter à la table membre puisse qu'elles sont liée à un membre et unique (y a peut de chance qu'un membre utilise 4 adresses en même temps et limite on s'en fou ?).

Par contre il est possible d'avoir une table pays (afin de pas les remettres à chaque fois), une table régions et une table civilité (même si préfère un champ enum vu qu'il y en a 3).
Table membre
CREATE TABLE membre (
id int(11) NOT NULL auto_increment,
login text NOT NULL,
pass_md5 text NOT NULL,
civilite enum('Indéterminé ?','Mademoiselle','Madame','Monsieur') default 'Indéterminé ?' not null,
age smallint,
region smallint unsigned default 0,
profession varchar(100),
loisirs varchar(100),
citation varchar(150),
message varchar(150),
PRIMARY KEY (id)
) TYPE=MyISAM;

Table Pays
table pays
create table pays(
id smallint unsigned not null auto_increment,
nompays tinytext not null,
primary key(id)
)type=myisam;

Table regions
Table région
create table regions (
id smallint unsigned not null auto_increment,
idpays smallint unsigned not null,
nomregion tinytext not null,
primary key(id)
)type=myisam;

avec ces 3 tables tu peut déja prédéfinir les noms des pays et des régions (ce ne sont pas des choses qui change souvent, et même s'il en manque, tu peut ajouter un truc du genre ajouter un pays / région avec une demande de validation par un modo. perso j'utilise un champ enum(true/false) pour cela.

il te faudra utiliser les jointures pour afficher le tout
par exemple : select login,civilite,age,nompays,nomregion,profession,loisirs,citation,message from membre inner join regions on region=regions.id inner join pays on regions.idpays=pays.id where membre.id='1';

a savoir : je n'ai pas mis le id pays dans la table membre pour qu'il n'y ai pas de redondance avec la table region (puisse que j'associe une région à un pays et je laisse ainsi la possibilité d'avoir un pays avec des régions ayant le même nom).

c'est plus compliqué mais cela permet d'avoir une iterface plus simple pour l'utilisation
- pré sélection de nom très courant pour le membre
- plus simple d'administration (plus besoin faire le tour de tous les membre qui ont mis grosland en pays (avecd des orthographes diverse en focntion de la casse, une simple suffit pour supprimer ;) ).

je sais ça fait beaucoup mais au final c'est plus simple à maintenir ;)

@+
Il en faut peu pour être heureux !!!!!
moogli
le 25/10/2010 à 11:37
Script tout fait
merci iM@N ça fait plaisir :)
pour le bandeau footer, effectivement j'arrive pas à le positionner en bas et le faire descendre, c'est pour cela que j'ai limiter le nombre de tuple des tables, par contre je l'ai pas fait sur les table et si on regarde information_schema (par exemple) c'est sur super moche :)

si je n'ai pas mis de div c'est parce que j'en profiter pour essayer html 5 et css3, d'ailleur j'ai ajouter le message d'erreur de Raphaël Goetter (alsacreations) pour IE 6

<!--[if lte IE 7]>
<link rel="stylesheet" href="styles-ie6.css" />
<div class="alert-ie6" style="padding: 1em; background: #900; font-size: 1.1em; color: #fff;">
<p><strong>Attention ! </strong> Votre navigateur (Internet Explorer 6 ou 7) présente de sérieuses lacunes en terme de sécurité et de performances, dues à son obsolescence (il date de 2001).<br />En conséquence, ce site sera consultable mais de manière moins optimale qu'avec un navigateur récent (<a href="http://www.browserforthebetter.com/download.html" style="color: #fff;">Internet Explorer 8</a>, <a href="http://www.mozilla-europe.org/fr/firefox/" style="color: #fff;">Firefox 3</a>, <a href="http://www.google.com/chrome?hl=fr" style="color: #fff;">Chrome</a>, <a href="http://www.apple.com/fr/safari/download/" style="color: #fff;">Safari</a>,...)</p>
</div>
<![endif]-->

=> exemple
tu a raison pour la case à cocher, c'est pas bien compliqué et pratique, je viens donc de l'ajouter.

Je ne l'ai pas dit mais il y a des restrictions :
- mysql 5
- php 5
- utf-8

le premier parce que j'utilise la table_information schema qui n'existe que depuis mysql 5 il me semble, et le second parce que mes classes php sont en V5 (faut vivre avec son temps ;))

pour utf-8 faut que je vois comment on peut gérer cela correctement parce que c'est super crade d'imposer un charset :/
j'ai déjà pas mal de chose faut juste que j'ajoute une option dans le config pour gérer le truc !

faut que je joue avec les droit mysql pour afficher ou non les boutons edit / delete pour éviter les suprises :)

faut que je fait un petit manuel d'utilisation aussi XD

j'ai mis ajour l'archive avec le bout de JS en plus ;)

@+
PS : ne pas hésiter sur les commentaire (pour ceux sur le design proposer aussi une charte graphique valide html5 / css3 en même temps XD)
Il en faut peu pour être heureux !!!!!
moogli
le 23/10/2010 à 08:16
Script tout fait
Yop, j'ai terminé :)

bon faudrais faire des effort de design mais tu peut trouver une archive la

@+
Il en faut peu pour être heureux !!!!!
moogli
le 23/10/2010 à 00:30
mail en php
ben c'est normal tu utilise deux fois la fonction mail (ligne 66 et 79)

vire le 1er et ça ira mieux ;)

@+
Il en faut peu pour être heureux !!!!!
moogli
le 22/10/2010 à 13:40
mail en php
ligne 59 à 61 a priori c'est bon a voir si ces champs existe bien dans le formulaire !

@+
Il en faut peu pour être heureux !!!!!
moogli
le 22/10/2010 à 00:04
mail en php
Salut,

Regarde la doc de la fonction mail et surtout les exemples avec les entetes additionnelles c'est la que tu indique l'expediteur que recupere dans le formulaire de contact !

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