Quelques Fonctions de PHP
Résolu/Fermé
Brydjy
Messages postés
399
Date d'inscription
mardi 9 octobre 2007
Statut
Membre
Dernière intervention
8 novembre 2013
-
20 juin 2008 à 12:21
Brydjy Messages postés 399 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 8 novembre 2013 - 20 juin 2008 à 16:14
Brydjy Messages postés 399 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 8 novembre 2013 - 20 juin 2008 à 16:14
A voir également:
- Quelques Fonctions de PHP
- Easy php - Télécharger - Divers Web & Internet
- Notice de fonctionnement - Guide
- Bouton php - Forum PHP
- Php?id=1 - Forum PHP
- \R php ✓ - Forum PHP
9 réponses
Utilisateur anonyme
20 juin 2008 à 12:43
20 juin 2008 à 12:43
Mailto n'a rien à voir avec php, son utilisation ici : http://www.thelin.net/laurent/labo/html/mailto.html
Pour l'image, une fois uploadée, tu la sauves dans un dossier avec : move_uploaded_file($_FILES['image']['tmp_name'],$destination);
où $_FILES['image'] est le fichier uploadé, envoyé par le biais d'un formulaire POST où ton champ d'upload d'image avec pour nom 'image' et $destination le fichier sous lequel tu sauvegardes l'image (ex : img/up_img.png)
http://www.manuelphp.com/php/function.move-uploaded-file.php
Pour l'image, une fois uploadée, tu la sauves dans un dossier avec : move_uploaded_file($_FILES['image']['tmp_name'],$destination);
où $_FILES['image'] est le fichier uploadé, envoyé par le biais d'un formulaire POST où ton champ d'upload d'image avec pour nom 'image' et $destination le fichier sous lequel tu sauvegardes l'image (ex : img/up_img.png)
http://www.manuelphp.com/php/function.move-uploaded-file.php
[o.o]REplay
Messages postés
357
Date d'inscription
vendredi 20 juin 2008
Statut
Membre
Dernière intervention
20 juillet 2009
28
20 juin 2008 à 13:38
20 juin 2008 à 13:38
Si l'image est déposée dans un dossier temporaire, il te suffit de savoir quel est ce dossier, ainsi que le nom de l'image associée à une annonce, et tu as ton lien. Une idée serai de sauvegarder carrément ce lien dans un champ de ta base de données.Si c'était pas ça la question soit plus explicite! ^^
youssefb
Messages postés
16
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
20 juin 2008
20 juin 2008 à 13:51
20 juin 2008 à 13:51
un ptit coup d'oeil sur le code et ca devrai aller
Brydjy
Messages postés
399
Date d'inscription
mardi 9 octobre 2007
Statut
Membre
Dernière intervention
8 novembre 2013
28
20 juin 2008 à 13:59
20 juin 2008 à 13:59
Code : PHP
<?php
//Fin de la 1ère partie//
//////////////////////////////////////////////////////////////
//2ème Partie: SI une donnée est entrée, On récupère les POST//
////////////////////////////////////////////////////////////
if($register == 1) //Si l'utilisateur a terminé son forumulaire, alors on récupère les données//
{
$region = $_POST['region']; //Variable de donnée//
$cp = $_POST['cp']; //Variable de donnée//
$pseudo = $_POST['pseudo']; //Variable de donnée//
$annonce = $_POST['annonce']; //Variable de donnée//
$message = $_POST['message']; //Variable de donnée//
$prix = $_POST['prix']; //Variable de donnée//
$ville = $_POST['ville']; //Variable de donnée//
$mail = $_POST['mail']; //Variable de donnée//
$phone = $_POST['phone']; //Variable de donnée//
echo "Les Donnees Suivante Viennent d'être Enregistrées: $pseudo";
?>
<?php
//Fin de la 2ème partie//
//////////////////////////////////////////////////////
//3ème Partie: Enregistrement des donnees dans la base SQL//
//////////////////////////////////////////////////////
$sql_host = "localhost";
$sql_user = "root";
$sql_pass = "";
$sql_db = "test";
mysql_connect("$sql_host", "$sql_user", "$sql_pass"); // Connexion à MySQL
mysql_select_db("$sql_db"); //Selection de la base de données
mysql_query("INSERT INTO formu VALUES ('' ,'$region','$cp','$pseudo','$annonce','$message','$prix','$ville','$mail','$phone')"); //On enregistre les données dans la base SQL//
//Fin de la 3ème partie//
mysql_close();
}
?>
Et ça c'est mon code qui permet d'enregistrer mon image :
Code : PHP
<?php
// Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur
if ($_FILES['monfichier']['error'] > 0) $erreur1 = "Erreur lors du tranfsert
(info° : Vérifier les extensions autorisées, la taille maxi du fichier, et si le champ est bien remplie)";
{
// Testons si le fichier n'est pas trop gros
if ($_FILES['monfichier']['size'] <= 1000000) $none = "Le fichier est trop gros";
{
// Testons si l'extension est autorisée
$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png' );
//1. strrchr renvoie l'extension avec le .
//2. substr(chaine,1) ignore le premier caractère de chaine
//3. strtolower met l'extension en minuscule
$extension_upload = strtolower( substr( strrchr($_FILES['monfichier']['name'], '.') ,1) );
if ( in_array($extension_upload,$extensions_valides) ){
echo "Extension correcte ; ";}
//Créer un dossier 'fichiers/photos/'
mkdir('fichier/photos/', 0777, true);
// On peut valider le fichier et le stocker définitivement
$rep = "fichier/photos/";
$resultat = move_uploaded_file($_FILES['monfichier']['tmp_name'],$rep.basename($_FILES['monfichier']['name']));
//on renome le fichier dans le répertoire et le nom y
if ($resultat) {
echo "Transfert réussi !";}
else{
echo ($erreur1);}
}
}
?>
Vocii mes deux codes, le premier pour l'enregistrement dans la base de donnée, le seconde pour l'upload du fichier.
Je vais essayer de créer un champ image type VARCHAR (150) et je vais bien voir.
- j'ajoute $image dans la base, et pour finir bah je le ferait s'afficher, si ça marche je vous aime trop... lol.
Non sincèrement merci.
Dites moi quand même pour les codes. Cdlt
<?php
//Fin de la 1ère partie//
//////////////////////////////////////////////////////////////
//2ème Partie: SI une donnée est entrée, On récupère les POST//
////////////////////////////////////////////////////////////
if($register == 1) //Si l'utilisateur a terminé son forumulaire, alors on récupère les données//
{
$region = $_POST['region']; //Variable de donnée//
$cp = $_POST['cp']; //Variable de donnée//
$pseudo = $_POST['pseudo']; //Variable de donnée//
$annonce = $_POST['annonce']; //Variable de donnée//
$message = $_POST['message']; //Variable de donnée//
$prix = $_POST['prix']; //Variable de donnée//
$ville = $_POST['ville']; //Variable de donnée//
$mail = $_POST['mail']; //Variable de donnée//
$phone = $_POST['phone']; //Variable de donnée//
echo "Les Donnees Suivante Viennent d'être Enregistrées: $pseudo";
?>
<?php
//Fin de la 2ème partie//
//////////////////////////////////////////////////////
//3ème Partie: Enregistrement des donnees dans la base SQL//
//////////////////////////////////////////////////////
$sql_host = "localhost";
$sql_user = "root";
$sql_pass = "";
$sql_db = "test";
mysql_connect("$sql_host", "$sql_user", "$sql_pass"); // Connexion à MySQL
mysql_select_db("$sql_db"); //Selection de la base de données
mysql_query("INSERT INTO formu VALUES ('' ,'$region','$cp','$pseudo','$annonce','$message','$prix','$ville','$mail','$phone')"); //On enregistre les données dans la base SQL//
//Fin de la 3ème partie//
mysql_close();
}
?>
Et ça c'est mon code qui permet d'enregistrer mon image :
Code : PHP
<?php
// Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur
if ($_FILES['monfichier']['error'] > 0) $erreur1 = "Erreur lors du tranfsert
(info° : Vérifier les extensions autorisées, la taille maxi du fichier, et si le champ est bien remplie)";
{
// Testons si le fichier n'est pas trop gros
if ($_FILES['monfichier']['size'] <= 1000000) $none = "Le fichier est trop gros";
{
// Testons si l'extension est autorisée
$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png' );
//1. strrchr renvoie l'extension avec le .
//2. substr(chaine,1) ignore le premier caractère de chaine
//3. strtolower met l'extension en minuscule
$extension_upload = strtolower( substr( strrchr($_FILES['monfichier']['name'], '.') ,1) );
if ( in_array($extension_upload,$extensions_valides) ){
echo "Extension correcte ; ";}
//Créer un dossier 'fichiers/photos/'
mkdir('fichier/photos/', 0777, true);
// On peut valider le fichier et le stocker définitivement
$rep = "fichier/photos/";
$resultat = move_uploaded_file($_FILES['monfichier']['tmp_name'],$rep.basename($_FILES['monfichier']['name']));
//on renome le fichier dans le répertoire et le nom y
if ($resultat) {
echo "Transfert réussi !";}
else{
echo ($erreur1);}
}
}
?>
Vocii mes deux codes, le premier pour l'enregistrement dans la base de donnée, le seconde pour l'upload du fichier.
Je vais essayer de créer un champ image type VARCHAR (150) et je vais bien voir.
- j'ajoute $image dans la base, et pour finir bah je le ferait s'afficher, si ça marche je vous aime trop... lol.
Non sincèrement merci.
Dites moi quand même pour les codes. Cdlt
Le code que tu donnes n'a rien à voir avec ta question "Comment faire pour que cette photo s'affiche avec la bonne annonce ?" : où est le code pour afficher une annonce ?
"Je vais essayer de créer un champ image type VARCHAR (150) et je vais bien voir. "
VARCHAR pour stocker des images ? Y'aurait pas un petit souci de logique ici ?
"Je vais essayer de créer un champ image type VARCHAR (150) et je vais bien voir. "
VARCHAR pour stocker des images ? Y'aurait pas un petit souci de logique ici ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
[o.o]REplay
Messages postés
357
Date d'inscription
vendredi 20 juin 2008
Statut
Membre
Dernière intervention
20 juillet 2009
28
20 juin 2008 à 14:12
20 juin 2008 à 14:12
Un léger problème: tu fais à chaque fois un mkdir... fais le une fois, ca sera réglé. mkdir va te renvoyer false tt le tmps sinon..Je ne suis pas trop entré dans ton code, mais ce qu'il te manque c'est le moyen de retrouver ton image: donc dans la base met le nom de l'image, et ensuite tu n'aura plus qu'a afficher l'image avec "/fichier/photos/".$nomdelimage.
Brydjy
Messages postés
399
Date d'inscription
mardi 9 octobre 2007
Statut
Membre
Dernière intervention
8 novembre 2013
28
20 juin 2008 à 14:49
20 juin 2008 à 14:49
Sincèrement désolé pour la perte de temps mon code est celui-ci :
<a href="?page=afficher">Afficher les donnees Enregistrer</a><br /> <!-- un petit lien ( en GET pour la même page, mais ça peut aussi ètre un page differente)-->
<?php
////////////////////////////////////////////
//4ème Partie: Afficher les données Enregistrer//
///////////////////////////////////////////
$page = $_GET['page'];
if ($page == "afficher")
{
$sql_host = "localhost";
$sql_user = "root";
$sql_pass = "";
$sql_db = "test";
mysql_connect("$sql_host", "$sql_user", "$sql_pass"); // Connexion à MySQL
mysql_select_db("$sql_db"); //Selection de la base de données
$reponse = mysql_query("SELECT * FROM `formu` ORDER BY `id`"); //on SELECTione TOUT (*) DE (From) la table "test", ORDRE d'affichage: trié par ID
while ($donnees = mysql_fetch_array($reponse)) // Boucle d'affichage des données//
{
?>
<p>
<b>Auteur:</b> <?php echo $donnees['pseudo']; ?><br />
<b>Son annonce:</b> <?php echo $donnees['annonce']; ?><br />
<b>Son Message :</b> <?php echo $donnees['message']; ?><br />
<b>Son Prix:</b> <?php echo $donnees['prix']; ?><br />
<b>Son adresse:</b><br />
<?php echo $donnees['region'].'<br />'.$donnees['cp'].' '.$donnees['ville']; ?><br />
<b>La photo</b><br />
<?php echo $donnees['image']; ?>
</p>
<?php
}
mysql_close(); // Déconnexion de MySQL
}
//Fin de la 4ème Partie//
?>
Il ma page, m'affiche le chemin, et non l'image. trop dommage.
savez vous comment faire pour afficher cette image ?
dont le chemin est stocké dans le champ 'image' de ma BD.
MErci
<a href="?page=afficher">Afficher les donnees Enregistrer</a><br /> <!-- un petit lien ( en GET pour la même page, mais ça peut aussi ètre un page differente)-->
<?php
////////////////////////////////////////////
//4ème Partie: Afficher les données Enregistrer//
///////////////////////////////////////////
$page = $_GET['page'];
if ($page == "afficher")
{
$sql_host = "localhost";
$sql_user = "root";
$sql_pass = "";
$sql_db = "test";
mysql_connect("$sql_host", "$sql_user", "$sql_pass"); // Connexion à MySQL
mysql_select_db("$sql_db"); //Selection de la base de données
$reponse = mysql_query("SELECT * FROM `formu` ORDER BY `id`"); //on SELECTione TOUT (*) DE (From) la table "test", ORDRE d'affichage: trié par ID
while ($donnees = mysql_fetch_array($reponse)) // Boucle d'affichage des données//
{
?>
<p>
<b>Auteur:</b> <?php echo $donnees['pseudo']; ?><br />
<b>Son annonce:</b> <?php echo $donnees['annonce']; ?><br />
<b>Son Message :</b> <?php echo $donnees['message']; ?><br />
<b>Son Prix:</b> <?php echo $donnees['prix']; ?><br />
<b>Son adresse:</b><br />
<?php echo $donnees['region'].'<br />'.$donnees['cp'].' '.$donnees['ville']; ?><br />
<b>La photo</b><br />
<?php echo $donnees['image']; ?>
</p>
<?php
}
mysql_close(); // Déconnexion de MySQL
}
//Fin de la 4ème Partie//
?>
Il ma page, m'affiche le chemin, et non l'image. trop dommage.
savez vous comment faire pour afficher cette image ?
dont le chemin est stocké dans le champ 'image' de ma BD.
MErci
En utilisant l'adresse de l'image dans la balise img : http://bernard.quevillier.pagesperso-orange.fr/index.htm
Brydjy
Messages postés
399
Date d'inscription
mardi 9 octobre 2007
Statut
Membre
Dernière intervention
8 novembre 2013
28
>
Utilisateur anonyme
20 juin 2008 à 15:13
20 juin 2008 à 15:13
ouais, mais le truc, c'est que je peux pas mettre par défaut un chemin, puisque des annonces, il va y en avoir des tonnes, en permanence, et je ne veux pas que se soit la même image, surtout que le nom de la première image, je ne le connais pas, puisque personne est venu... c'est pour ça que j'ai crée ça dans mon autre page :
<?php
[...]
$image = "fichier/photos/".basename($_FILES['monfichier']['name']);
[...]
?>
ainsi que ça,
mysql_query("INSERT INTO formu VALUES ('' ,'$region','$cp','$pseudo','$annonce','$message','$prix','$ville','$mail','$phone','$image')"); //On enregistre les données dans la base SQL//
Mais rien n'y fait, c'est le chemin de l'image qui s'affiche pas la photo, je comprend plus rien.
--> <img src"<?php echo $donnees['image']; ?>" alt="la photo de l'annonce"/>... marche pas
<?php
[...]
$image = "fichier/photos/".basename($_FILES['monfichier']['name']);
[...]
?>
ainsi que ça,
mysql_query("INSERT INTO formu VALUES ('' ,'$region','$cp','$pseudo','$annonce','$message','$prix','$ville','$mail','$phone','$image')"); //On enregistre les données dans la base SQL//
Mais rien n'y fait, c'est le chemin de l'image qui s'affiche pas la photo, je comprend plus rien.
--> <img src"<?php echo $donnees['image']; ?>" alt="la photo de l'annonce"/>... marche pas
Utilisateur anonyme
>
Brydjy
Messages postés
399
Date d'inscription
mardi 9 octobre 2007
Statut
Membre
Dernière intervention
8 novembre 2013
20 juin 2008 à 15:17
20 juin 2008 à 15:17
"--> <img src"<?php echo $donnees['image']; ?>" alt="la photo de l'annonce"/>... marche pas"
Normal tu n'utilises pas la bonne syntaxe, relis la documentation...
Normal tu n'utilises pas la bonne syntaxe, relis la documentation...
[o.o]REplay
Messages postés
357
Date d'inscription
vendredi 20 juin 2008
Statut
Membre
Dernière intervention
20 juillet 2009
28
20 juin 2008 à 15:27
20 juin 2008 à 15:27
<?php echo '<img src = \' ' .$donnees['images']. ' \' title=\'image de '.$pseudo.' \' > eventuellement ^^
tas juste oublié le '=' je crois :p
le title cest la ptite bulle qui saffiche quand tu laisse la souris sur l'image.
Le plus propre c'est de ne stocker dans ta base que le nom de l'image, vu qu'elles seront toutes dans le même dossier, à moins que tu ne décide de faire un dossier par client. As you want :)
ps: t'es en stage? pourquoi tu fais ça? (ouai chui curieux ^^)
tas juste oublié le '=' je crois :p
le title cest la ptite bulle qui saffiche quand tu laisse la souris sur l'image.
Le plus propre c'est de ne stocker dans ta base que le nom de l'image, vu qu'elles seront toutes dans le même dossier, à moins que tu ne décide de faire un dossier par client. As you want :)
ps: t'es en stage? pourquoi tu fais ça? (ouai chui curieux ^^)
Brydjy
Messages postés
399
Date d'inscription
mardi 9 octobre 2007
Statut
Membre
Dernière intervention
8 novembre 2013
28
20 juin 2008 à 15:50
20 juin 2008 à 15:50
Ouais je suis dans une école (le CESI) et voilà, ils nous on fait 3 jours de cours de 6 heures. (18h...)
HTML/CSS & php un tout petit peu de SQL en fin de journée.
Hallucinant, voilà qu'ils nous disent, aller un mois pour faire un site web fonctionnel... lol. - "ah ouais ?!"
Donc me voici, avec mes milliers de questions et ma soit disant "fainéantise" alors que le truc, j'adore le developpement web, mais j'avais jamais fait de php/mysql... image en moins d'un mois tout apprendre, et ta une vie à coté, et un taf aussi.
Trop chaud quoi. donc j'ai choisis de faire un site d'annonce, je trouve ça bien, comme leboncoin...
Voilà monsieur.
Sinon oui juste le = lol.
Là ça marche, mais par contre je dois faire en sorte que l'image soit plus petite, j'ai encore du boulot...
Merci à vous.
Cdlt
HTML/CSS & php un tout petit peu de SQL en fin de journée.
Hallucinant, voilà qu'ils nous disent, aller un mois pour faire un site web fonctionnel... lol. - "ah ouais ?!"
Donc me voici, avec mes milliers de questions et ma soit disant "fainéantise" alors que le truc, j'adore le developpement web, mais j'avais jamais fait de php/mysql... image en moins d'un mois tout apprendre, et ta une vie à coté, et un taf aussi.
Trop chaud quoi. donc j'ai choisis de faire un site d'annonce, je trouve ça bien, comme leboncoin...
Voilà monsieur.
Sinon oui juste le = lol.
Là ça marche, mais par contre je dois faire en sorte que l'image soit plus petite, j'ai encore du boulot...
Merci à vous.
Cdlt
Brydjy
Messages postés
399
Date d'inscription
mardi 9 octobre 2007
Statut
Membre
Dernière intervention
8 novembre 2013
28
20 juin 2008 à 16:14
20 juin 2008 à 16:14
C'est bon, merci.
Vous êtes excellent, merci pour tout.
Vous êtes excellent, merci pour tout.
20 juin 2008 à 13:03
Ce que je voudrais à présent, c'est afficher cette image.
Car une personne viens déposer une annonce, elle met une photo avec.
Après une autre personne vient, elle veut consulter l'annonce.
Comment faire pour que cette photo s'affiche avec la bonne annonce ?
Je sais que c'est une question complexe, mais je galère, quand je tape dans google, il me sort n'importe quoi, je sais pas quoi taper, pour avoir un résultat potable.
si tu sais tu m'aiderais beaucoup.
Merci en tous cas, c'est sympa d'avoir répondu.
Cdlt
20 juin 2008 à 13:08