constrution module phpnuke

Répondre
reone
le 31/05/2004 à 01:35
reone
slt,

bon alors voila je veu faire un module de trombinoscope sur phpnuke qui serait
accesible dans l espace personnel des membres une icone juste a coter de changement de theme par exemple du style

créer ma fiche ou modifiée

la personne clique dessus et aparait un formulaire du style

pseudo, date de naissance, url perso , upload de photo, valider

ensuite une fois enregistrée sa fiche serait accesible pour les autres

via un module trombi dans le bloc des modules.

dans ce module juste les pseudos aparaissent en lien la personne clique dessu et la aparai la fiche

compliqué mon affaire

mon premier probleme :

c comment faire pour que quand la personne créer sa fiche

cela soit relier a son compte et qu il puisse la modifié ??

il faut reprendre la base deja créer dans phpnuke ??

mon deuxieme probleme :

comment faire pour retourné que le pseudo sur une page sous forme de lien pour aller sur la fiche

troisieme probleme :

comment uploader une photo il faut créer une table dans la base + un reptoire pour les photos ?

bon voila c long chiant a lire désoler je commence le php

merci pour vos reponses
moogli
le 31/05/2004 à 02:50
moogli
Slt
pour ton première problème
il te faut une table qui contient tes champ
[list]table membre (pkoi pas)
[*] id type int
[*] pseudo type varchar
[*] date de naissance type varchar
[*] url perso type varchar
[*] photo type varchar (ne contient que l'url de la photo sur ton site)
[/list]
et quand la personne creer sa fiche (s'inscrit?) tu upload (ou insére) les info dans la table
ce qui donne

CREATE TABLE membre (
id int(11) NOT NULL auto_increment,
pseudo varchar(100) NOT NULL default '',
url_perso varchar(100) NOT NULL default '',
birthday varchar(10) NOT NULL default '',
photo varchar(100) NOT NULL defaukt '',
PRIMARY KEY id (id)
) TYPE=MyISAM;

pour ton deuxième pb
pour afficher un liens avec le pseudo
1/ requete sql
<?php
$sql = 'SELECT pseudo FROM membre';
$req = mysql_fetch_array($sql) or die ('Erreur SQL<br>'.$sql.'<br>'.mysql_error());
while($data=mysql_fetch_array($req))
{
echo '<a href="aff_profil.php?pseudo='.$data['pseudo'].'"> .'$data['pseudo'].'</a><br>';
}
?>

Sur ta page aff_profil.php
tu récupere $_GET['pseudo']
+ requete SQL pour allez chercher les infos (comme + haut ou alors les cours de la Globule )

troisième pb
pourl'upload d'une photo il te faut une page sur la quel tu met un formulaire qui cotient un champ du type <form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="avatar" accept="image/gif" maxlength="20000">
pis sur la page upload tu as un tablo
$_FILES qui contient toute les info du fichier
<?php
$fichier=$_FILES['avatar']['name'];//nom d'origine de l'image
$size=$_FILES['avatar']['size']; //poid de l'image en octet
$tmp=$_FILES['avatar']['tmp_name'];//nom temporaire de l'image
$type=$_FILES['avatar']['type'];//type de l'image
//ici avatar correspond au nom du input de la page précédente
list($width,$height)=getimagesize($tmp); // pour la taille de ton img
if(is_uploaded_file($tmp))
{
if($type="image/gif" && $size<="20500" && $width<="80" && $height<="90" )
{
move_uploaded_file($tmp,'endroit ou tu veut stoké l'image');
}
if($type!="image/gif" || $size>20500 || $width>"80" && $height>"90")
{
//le fichier ne respecte pas la taille imposé ici 80 de large x 90de haut }
}

Voila donc tu creer un repertoire pour stoké des photos et pour la table déja répondu
C'est assez long et barbant smiley mais tu devrait y arrivé
ps je ne connait pas phpnuke mais cela est fontionnelle meme si l'affichage laisse a désirer
Il en faut peu pour être heureux !!!!!
moogli
le 31/05/2004 à 02:52
moogli
eu ya ue boulette dans le script ci dessus dans la requete sql

CREATE TABLE membre (
id int(11) NOT NULL auto_increment,
pseudo varchar(100) NOT NULL default '',
url_perso varchar(100) NOT NULL default '',
birthday varchar(10) NOT NULL default '',
photo varchar(100) NOT NULL default '',
PRIMARY KEY id (id)
) TYPE=MyISAM;
Il en faut peu pour être heureux !!!!!
bibi
le 31/05/2004 à 16:13
bibi
kom on dit, kan ya le code et les explications, on dit merci Moogli !
commit suicide
reone
le 01/06/2004 à 01:05
reone
voila mon formulaire

(Le code posté par ce membre étant trop long, il a été automatiquement inséré dans le wall. Pour le voir, veuiller clicker sur [lien=http://www.lephpfacile.com/wall/lire_wall.php?wall=1432]ce lien[/lien])


voila ma table

create table trombi (
id int(11) NOT NULL auto_increment,
pseudo varchar (100) NOT NULL default '',
jours varchar (10) NOT NULL default '',
mois varchar (10) NOT NULL default '',
ans varchar (10) NOT NULL default '',
email varchar (100) NOT NULL default '',
salon varchar (100) NOT NULL default '',
siteperso varchar (100) NOT NULL default '',
sitepref varchar (100) NOT NULL default '',
message varchar (255) NOT NULL default '',
photo varchar (100) NOT NULL default '',
PRIMARY KEY id (id)
) TYPE=MyISAM;



donc aprés j ai fait une page de validation

<?PHP

$db = mysql_connect('localhost', 'trombi', 'password');
mysql_select_db('trombi_db',$db);

$sql = "INSERT INTO webmaster
VALUES('$pseudo','$jours','$mois','$ans','$email',
'$salon','$siteperso','$sitepref','$message','$photo')";
mysql_query($sql)
or die('Erreur SQL !'.$sql.'
'.mysql_error());

echo 'merci beaucoup, vos infos ont été enregistrées.';
mysql_close();

?>


apres j ai pas pigé comment créer une page
ou il y aurrais les pseudo au fur est a mesure des inscriptions qui s afficherais sous forme de lien pour aller sur la fiche

je suis unpeu bete :/

et j ai pas compris non plus ou je met le chemin de mon repertoire pour les photos
vraiment désoler d etre aussi nul

[Message modifié le 01/06/2004 à 10:33 par zebden]
moogli
le 01/06/2004 à 01:46
moogli
pour commencer il faut que ton form precise que tu va utiliser des fichier
<form action="valide.php" method="post" enctype="multipart/form-data" >
ensuite
ta requete sql est fausse, tu renseigne 10 champ au lieu de 11 (ta oublier l'id)

$sql = "INSERT INTO webmaster
VALUES('$pseudo','$jours', '$mois','$ans', '$email','$salon','$siteperso' , '$sitepref', '$message', '$photo')";

remplace par celle ci ou tu renseigne l'id

$sql = "INSERT INTO webmaster
VALUES('','$pseudo', '$jours','$mois', '$ans', '$email', '$salon','$siteperso', '$sitepref', '$message', '$photo')";

relie les tutos sur l'utilisation de la table c'est bien expliquer
deplus
pourl'upload des photos il faut que tu mette le nom du rep dans le
move_uploaded_file($tmp,'endroit ou tu veut stoké l'image');
tu remplace 'endroit ou tu veut stoké l'image par le chemin réel de l'endroit ou tu placé ton fichier ex (c:\monsite\foto\)

pourla page avec des liens vers les infos des utilisateurs c pas dur
1/ liens.php
<?php
$base=mysql_connect(SERVEUR_BD,LOGIN_BD,PWD_BD);
mysql_select_db(NOM_BASE_BD,$base);
$sql = 'SELECT pseudo FROM trombi';
$req = mysql_query($req) or die('erreur sql .......');
/* ensuite tu t'arrage pour presenté sa bien par exemple tu peu mettre le pseudo et la photo dans ce cas tu change
la requet ....*/
while ($data=mysql_fetch_array($req))
{
echo '<a href="info_perso.php?pseudo='.$data['pseudo'].'">'.$data['pseudo'].'</a>';
}
mysql_free_result($req);
mysql_close();
?>

La page info_perso.php
<?php
//on recupere le pseuso
$pseudo = $_GET['pseudo'];
base=mysql_connect(SERVEUR_BD,LOGIN_BD,PWD_BD);
mysql_select_db(NOM_BASE_BD,$base);
$sql = 'SELECT jours, mois, ans, email, salon,siteperso, sitepref, photo FROM trombi WHERE pseuso='.$pseudo;
$req = mysql_query ($req) or die ('.....');

/*une belle presentation */
while ($data=mysql_fetch_array($req))
{
echo $data['photo'].'Pseudo : '.$pseudo.'';
echo "birthday :".$data['jours'].'-'.$data['mois'].'-'.$data['ans'];
//pareil pourles autres info en utilisant <a href="mailto:"></a> pourle mail ......
}
mysql_free_result($req);
mysql_close();
?>


Ben voila je crois t'avoir donnée pas mal d'avance là smiley
si tes comprend pas le code (c pas une question d'être nul) je te conseil de plonger dans les cours la globule
tout ce que tu demande est expliquer dedans.
@+
Il en faut peu pour être heureux !!!!!
reone
le 01/06/2004 à 16:02
reone
merci pour l aide

bon alors pour la page valide ca me marque bien

merci beaucoup, vos infos ont été enregistrées

mais quand j essaie d aller sur la page

liens.php j obtien ca

erreur sql ....... j ai chercher je trouve pas la solution

aller pour finir lol le chemin du repertoire pour mes photo il faut le mettre dans le move_uploaded_file c quoi ca :/

merci bcp pour l aide encore une fois
moogli
le 01/06/2004 à 17:26
moogli
eu pour le liens.php c'est qu'il ya une erreur sql pour la connaitre tu remplace la requete par
$req = mysql_query($req) or die('erreur sql<br>'.$sql.'<br>'.mysql_error());
ensuite il semble que se soit le nom de la table qui n'est pas bon 'FROM trombi'$

bref tu regarde l'erreur sql (avec le mysql_error) pis tu corrige.

pour le chemin de tes photo

move_uploaded_file($tmp,'c:\site\photo');
sachant que $tmp contient le nom temporaire de la photo!!!
Il en faut peu pour être heureux !!!!!
reone
le 01/06/2004 à 22:01
reone
bon j obtien ca comme message

erreur sql
SELECT pseudo FROM trombi
Query est vide

le nom de ma base c bien trombi donc ca vient de ou ?
Répondre
LoadingChargement en cours