Hébergement du site en PHP et Mysql par WDMédia-hébergement
Vous aussi adpotez les éléPHPants de Vincent Pontier !
WDMedia-Hebergement
 


Rechercher dans le forum

Mots-clés :

Trouver :
un de ces termes tous les termes

Depuis :
7 j 15 j 30 j


Retour à l'index du forum

[Modéré wall]Demande d'un debutant Php

Message original de Greg

Le : 04/03/2009 à 23:15:32

Dejà lu 15499 fois avant vous

Salut a tous,

voilà j'ai un site 100% Html, mais je souhaiterai faire une petite case pour que le visiteur laisse sont mail pour la newsletter et validé l'envoi, mais je ne sais pas comment faire...

Je ne connais pas du tout le php... (chez mon hébergeur j'ai droit a 3 bases de données)

Merci d'avance pour m'aiguiller

Re: Demande d'un debutant Php

Réponse de luce

Le : 04/03/2009 à 19:33:53

Salut,

Si tu regardes à l'index du site, sur le menu de droite, il y a des tutoriaux, tu commences par le premier, tu finis par le dernier, mais tu auras compris ce comment faire bien avant.

Par contre, il te faudra un poil de sécurité, donc en admettant que tu es un bon, que tu comprends tout sans avoir de question, tu reviendras par ici et on t'aidera à coups de pouce pour la sécu.

Est-ce que ça te va ?

Re: Demande d'un debutant Php

Réponse de Greg

Le : 04/03/2009 à 20:50:12

salut,

Oui merci j'ai vu ca et je suis arrivé a faire ce que je voulais...

Super site encore merci!

Re: Demande d'un debutant Php

Réponse de Greg

Le : 04/03/2009 à 23:13:39

Salut voilà mon code, il marche très bien par contre j'ai deux questions :

- Niveau sécurité sa ne craint pas de mettre le login et pass de mon serveur mysql ?

- je souhaiterai qu'une fois il a bien rentré l'email la page retourne à une certaine adresse web..
[NDM]
Autant que tu prennes tout de suite les bonnes habitudes.
Relis la charte et tu verras que le code ça se met sur le wall
MK

Re: <b>[Modéré wall]</b>Demande d'un debutant Php

Réponse de Maljuna Kris

Le : 04/03/2009 à 23:20:50

Pour ta première question sache qu'on range généralement ces données sensibles dans un fichier include que l'on cache dans un répertoire protégé.
Pour le deuxième point il te va falloir étudier la fonction header()

Re: <b>[Modéré wall]</b>Demande d'un debutant Php

Réponse de Greg

Le : 04/03/2009 à 23:49:05

D'accord mais comment je pourrais faire alors ?

Merci

Re: <b>[Modéré wall]</b>Demande d'un debutant Php

Réponse de Greg

Le : 05/03/2009 à 00:07:40

Pour protéger le login et mot de passe a la connexion je veux dire :-)

Merci

Re: <b>[Modéré wall]</b>Demande d'un debutant Php

Réponse de Maljuna Kris

Le : 05/03/2009 à 00:10:07

Comment tu pourrais faire quoi ?
Protéger tes données sensibles ? http://www.phpdebutant.org/article51.php
Pour la redirection je t'ai déjà fourni lelien vers la doc de la fonction header()

Re: <b>[Modéré wall]</b>Demande d'un debutant Php

Réponse de Greg

Le : 05/03/2009 à 00:28:16

Merci sa me donne pas mal d'infos

Par contre une fois que j'ai crée ces deux fichiers comment dire a mon fichier php d'aller cherché le login et pass dans .htaccess et .htpasswd ?

En gros a la place de
$db = mysql_connect('localhost', 'greg', '')


Merci

Re: <b>[Modéré wall]</b>Demande d'un debutant Php

Réponse de Maljuna Kris

Le : 05/03/2009 à 06:53:37

Tu crées un fichier dbconnect.inc.php
<?php
$db 
mysql_connect('localhost''greg''') ;
?>

que tu places dans ce répertoire protégé.
Dans le script qui a besoin de se connecter :
<?php
/* ------
require_once 'dbconnect.inc.php';
/* -----
?>

Il faut que le répertoire .htaccess soit autorisé pour le processus php et son chemin connu de la variable d'environnement include_path du php.ini

Re: <b>[Modéré wall]</b>Demande d'un debutant Php

Réponse de luce

Le : 05/03/2009 à 10:00:12

Salut,

MK dormait à 6h53 !


<?php 
/* ------ */
require_once 'dbconnect.inc.php'
/* ----- */
?>



Pour que ca fonctionne

Re: <b>[Modéré wall]</b>Demande d'un debutant Php

Réponse de Maljuna Kris

Le : 05/03/2009 à 10:21:07

Pauv' pépère insomniaque !

Re: <b>[Modéré wall]</b>Demande d'un debutant Php

Réponse de luce

Le : 05/03/2009 à 11:00:04

Oui, tu avais un soucis de scroctum, encore une fois !!! :-P

Re: <b>[Modéré wall]</b>Demande d'un debutant Php

Réponse de Greg

Le : 05/03/2009 à 13:52:04

Salut a tous,

bon voila j'ai avancé mais sur certaine chose je comprend pas trop....

J'ai un dossier Newsletter a la racine du mon ftp, dans ce dossier il se trouve le fichier "Add.php" et dossier "Include"

Dans le dossier "include" se trouve le .htaccess et .htpasswd puis le fichier "dbconnect.inc.php"

dans le .htaccess le lien est de type : AuthUserFile /homepages/33/d228877202/htdocs/newsletter/include/.htpasswd

Dans le .htpasswd il y a le login et pass de la base de données mysql...

Voilà

Maintenant place au questions ;-)

Quand j'ajoute cette partie dans mon add.php

<?php 
/* ------ */
require_once 'dbconnect.inc.php'
/* ----- */
?>



sa ne marche pas ???

Re: <b>[Modéré wall]</b>Demande d'un debutant Php

Réponse de Greg

Le : 05/03/2009 à 13:54:15

Meme si "add.php" et "dbconnect.inc.php" se trouve dans le même dossier...

Re: <b>[Modéré wall]</b>Demande d'un debutant Php

Réponse de Maljuna Kris

Le : 05/03/2009 à 13:55:16

Comme il est écrit dans le forum

sa ne marche pas ???

n'a jamais constitué un diagnostic utile.
Merci de décrire le dysfonctionnement de la manière la plus détaillée possible

Re: <b>[Modéré wall]</b>Demande d'un debutant Php

Réponse de Greg

Le : 05/03/2009 à 14:00:27

voila le code de la ma page add.php

J'ai un message d'erreur pile a la ligne de "require_once 'dbconnect.inc.php'; "

<html>
<head>
<title> No title</title>

<meta name="GENE" content="Namo">
<meta http-equiv="refresh" content="2; URL=http://www.lesite.com/index.html"> 
</head>
<body>
<?php
$email 
$_POST['email'];
$point strpos($email,".");
$aroba strpos($email,"@");
// On commence par récupérer les champs
if(isset($_POST['email']))      $email=$_POST['email'];
else      
$email="";

// On vérifie si les champs sont vides
if(empty($email))
    {
    echo 
'<font color="red">Attention, le champs est vide !</font>';
    }
elseif(
$point=='')
    {
    echo 
"Votre email doit comporter un <b>point</b>";
    }
    elseif(
$aroba=='')
    {
    echo 
"Votre email doit comporter un <b>'@'</b>";
    }
    
else
{
    
// connexion à la base

require_once 'dbconnect.inc.php';  or die('Erreur de connexion '.mysql_error());

    
// sélection de la base  

    
mysql_select_db('exa',$db)  or die('Erreur de selection '.mysql_error());
    
    
// on regarde si l'url existe déjà
    
$sql "SELECT id FROM email_tbl WHERE email='$email'";
    
$req mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
    
    
// on compte le nombre de résultats
    
$res mysql_num_rows($req);

    if(
$res!=0)  // l'url existe déjà, on affiche un message d'erreur
        
{
        echo 
'<font color="red">Désolé, votre e-mail existe déjà dans notre base.</font>';
        }
else     
// on écrit la requête sql
    
{
    
$sql "INSERT INTO email_tbl(email) VALUES('$email')";
    
    
// on insère les informations du formulaire dans la table
    
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

    
// on affiche le résultat pour le visiteur
    
echo 'Votre e-mail a été ajouté.';

    
mysql_close();  // on ferme la connexion
    

    }
    
?>
</body>
</html> 

Re: <b>[Modéré wall]</b>Demande d'un debutant Php

Réponse de Maljuna Kris

Le : 05/03/2009 à 14:16:59

Et quel est ce message d'erreur ?
(Faut vraiment te tirer les vers du nez, on n'a pas de boule de cristal)

Re: <b>[Modéré wall]</b>Demande d'un debutant Php

Réponse de Greg

Le : 05/03/2009 à 14:20:48

Parse error: parse error in D:\weblocal\NewsLetter\add.php on line 35

En local sans .htaccess et .htpasswd et dbconnect.inc.php dans le meme dossier que add.php

Re: <b>[Modéré wall]</b>Demande d'un debutant Php

Réponse de Maljuna Kris

Le : 05/03/2009 à 14:32:37

require_once 'dbconnect.inc.php'; or die('Erreur de connexion '.mysql_error());
Qu'est-ce qu'il fout là ce or die() ?

Re: <b>[Modéré wall]</b>Demande d'un debutant Php

Réponse de Greg

Le : 05/03/2009 à 14:37:18

C'est pas bon ? lol

Tu pense que le problème vient de là ?

Re: <b>[Modéré wall]</b>Demande d'un debutant Php

Réponse de Greg

Le : 05/03/2009 à 14:44:33

Ok tu avais raison sa vient du "or die('Erreur de connexion '.mysql_error());"

Par contre pour les .htaccess et .htpasswd je comprend pas trop comment sa fonctionne...

Re: <b>[Modéré wall]</b>Demande d'un debutant Php

Réponse de Greg

Le : 05/03/2009 à 14:52:35

Donc si je comprend bien il faut que je donne l'acces au dossier Include seulement au serveur Php....

Par contre moi je suis chez 1&1 donc je sais pas si je peux touché au php.ini....

Si Oui comment ?

Re: <b>[Modéré wall]</b>Demande d'un debutant Php

Réponse de Maljuna Kris

Le : 05/03/2009 à 15:07:00

Php n'est pas un serveur, c'est, surtout en hébergement mutualisé, généralement un service du serveur http.
Je ne pense pas que 1&1, ou tout autre hébergeur, te laisse toucher au php.ini, par contre tu peux probablement, dans tes scripts passer par set_include_path

Re: <b>[Modéré wall]</b>Demande d'un debutant Php

Réponse de luce

Le : 05/03/2009 à 15:32:50

Salut

le add n'a pas a être dans le dossier htaccess !!!!

juste le fichier de connexion et dans le fichier htaccess tu mets :
deny from all

Et là:

$email = $_POST['email']; 
$point = strpos($email,"."); 
$aroba = strpos($email,"@"); 
// On commence par récupérer les champs 
if(isset($_POST['email']))      $email=$_POST['email']; 
else      $email=""; 

// On vérifie si les champs sont vides 
if(empty($email)) 
    { 
    echo '<font color="red">Attention, le champs est vide !</font>'; 
    } 
elseif($point=='') 
    { 
    echo "Votre email doit comporter un <b>point</b>"; 
    } 
    elseif($aroba=='') 
    { 
    echo "Votre email doit comporter un <b>'@'</b>"; 
    } 
     
else 
{



Donc si je comprends bien si je mets "@." comme adresse email, ca fonctionne ?

Regarde cette page :
http://fr.php.net/manual/fr/function.filter-var.php

Re: <b>[Modéré wall]</b>Demande d'un debutant Php

Réponse de Greg

Le : 05/03/2009 à 18:16:40

Il y a pas moyen de faire outre ces htaccess et include_path parce que j'y comprend rien du tout lol

La pour le moment sa marche mais ce que je souhaite c'est que personne arrive a lire dans le fichier "dbconnect.inc.php" qui se trouve dans le dossier include.

Re: <b>[Modéré wall]</b>Demande d'un debutant Php

Réponse de luce

Le : 05/03/2009 à 19:18:32

Re,

Dis moi ce qu'il y a de difficile dans ce que je vais dire :

creer un repertoire "secret"
Dans le repertoire "secret" creer un fichier .htaccess
Ouvrir le repertoire .htaccess avec notepad/bloc note
Ecrire 3 mots séparer par un espace à chaque fois :
deny from all

Sauvegarder

Dans le repertoire secret, ajouter un fichier connect.php

Dedans tu mets :

<?php
$user
="";
$password="";
$database="";
mysql_connect(sql.jfronline.com,$user,$password);
@
mysql_select_db($database) or die( "Unable to select database");

?>



Pour faire une requete sql, tu appel le fichier avec :
include_once('./secret/connect.php');


Alors, dis moi que c'est compliquer ?

Re: <b>[Modéré wall]</b>Demande d'un debutant Php

Réponse de Greg

Le : 05/03/2009 à 23:01:31

Déja mieux :-))

Par contre connect.php remplace "dbconnect.inc.php" dans le dossier secret ?

Et dans mon fichier "add.php" a la place de "require_once 'dbconnect.inc.php';" je note "include_once('./secret/connect.php');" ?

Pour deny from all tu peux me dire en quoi sa consiste ? sa bloque quoi et sa autorise quoi ? (pour le savoir)

Merci.

Re: <b>[Modéré wall]</b>Demande d'un debutant Php

Réponse de Maljuna Kris

Le : 06/03/2009 à 04:58:24

Un peu de lecture ?
http://cchatelain.developpez.com/articles/web/apache/htaccess/#L3

Pour les conventions de nommage des includes.
Il fut un temps où il était de bon ton de donner l'extension .inc à tous ses bouts de scripts que l'on utilisait en include.
J'ai gardé de cette époque l'habitude d'insérer .inc. dans le nom de mes scripts non utilsables seuls.
De la même manière que je peux nommer des scripts javascript qui contiennent un jeu de fonctions réutilisables dans plusieurs applis calendrier.inc.js, ou telle classe php FPDF.class.php voire FPDF.extd.class.php pour une extension de class.
Il ne s'agit en aucun cas d'obligation mais de convention de nommage qui me facilite le repérage dans les scripts.

Re: <b>[Modéré wall]</b>Demande d'un debutant Php

Réponse de TTUJkVdiNAzqVe

Le : 17/04/2009 à 01:13:57

NoFgbZ <a href="http://atmjbkzrntas.com/">atmjbkzrntas</a>, [url=http://bulexivzaonx.com/]bulexivzaonx[/url], [link=http://pghtusigxfts.com/]pghtusigxfts[/link], http://kbpxujnycnki.com/

Re: <b>[Modéré wall]</b>Demande d'un debutant Php

Réponse de xTemsGsDEtOZUQDBIo

Le : 07/05/2009 à 17:44:24

FBEYT0 <a href="http://ygggsrxyazwj.com/">ygggsrxyazwj</a>, [url=http://synljxozszma.com/]synljxozszma[/url], [link=http://hxhqgshfdadb.com/]hxhqgshfdadb[/link], http://hrsjrempnyky.com/
Retour à l'index du forum


Ajouter une réponse

Nom :

Email :

Titre :

Message :

Combien font 3 + 4 ?

Mise en forme : gras = [b]...[/b], italic = [i]...[/i], souligné = [u]...[/u], citation = [quote]...[/quote], lien = [url]liens_externe[/url] ou [url nom=texte]liens_externe[/url], code source : [code]...[/code]

Recevoir les réponses par mail :
Oui Non

Mémoriser mon nom et mon email :
Oui Non

 

Charte des forums PHPDébutant

Bienvenue à vous,

Vous voici donc prêt à poster sur les forums de PHPDébutant. Avant toute chose, merci de prendre le temps de lire les quelques lignes qui suivent.

Attention, à partir du moment ou vous postez dans les forums, vous acceptez la présente charte. Si votre message est modéré ou supprimé, vous ne pourrez pas dire que vous n'étiez pas au courant des règles !

Pourquoi une charte

Le but de cette charte est simple : que ces forums restent cordiaux et que les personnes aidant les autres ne se sentent pas lésées, insultées, critiquées. Pour que ces forums fonctionnent, il faut des personnes qui répondent aux questions. Pour que celles ci restent sur le forum, il faut les traiter avec respect, et ne pas les confondre avec des bonnes poires, esclaves, etc...

Mesures de régulation

  • Un nouveau message ne disant pas bonjour, ou insultant, dont le titre est tout en majuscules, pourra être supprimé sans justification (raisons non limitatives).
  • Prenez le temps de vérifier que la question que vous allez poser n'a pas déjà été posée, à l'aide du formulaire de recherche.
  • Prenez également le temps de vérifier que la réponse à votre question ne se trouve pas dans les tutoriaux. Nous ne pouvons pas répeter pour chaque visiteur tous les cours, il sont écrits, profitez-en (dans l'ordre tant qu'à faire) !
  • Nous ne faisons pas de scripts tout prêts. Nous aidons et vous guidons pour que vous puissiez trouver vous même la réponse, ce qui est beaucoup plus formateur.
  • Si vous comptez poster un message publicitaire, abstenez-vous. Au mieux le message sera supprimé, au pire les habitués descendront votre service en flamme.
  • Pour tout message de recrutement, précisez bien votre demande. Inutile de poster pour trouver un développeur pour faire gratuitement votre site de webmastering qui vous rapportera plein de sous. Les seuls coups de mains donnés en développement sont pour des associations ou des sujets passionnant un développeur.
  • Toute personne tenant des propos racistes ou illicites sera bannie et pourra faire l'objet de poursuites.
  • L'humour étant très présent sur ces forums, ne réagissez pas violemment à des propos qui pourraient être à prendre au second degré et avec de l'humour.
  • Attention aux trolls ! Leur multiplication peut entraîner la mort des forums, et sans forum, plus d'aide !
  • Respectez les thèmes des forums. Pensez aussi à vérifier que votre message n'a pas été déplacé si vous le croyez effacé.

Conseils

  • N'oubliez pas que les personnes à qui vous vous adressez sont des bénévoles qui donnent de leur temps pour vous. Si vous êtes méchants avec eux, il n'aideront plus et vous n'aurez plus d'aide !
  • Ne soyez pas pressé. Nous avons une vie aussi, et nous ne sommes par forcément tout le temps disponibles.
  • N'oubliez pas que les smileys sont la pour faire comprendre l'humeur dans laquelle vous rédigez un message. Il est indispensable de mettre des smileys quand vous faites de l'humour, sinon le message pourrait être mal perçu (ca serait quand même idiot de plomber l'ambiance en faisant de l'humour !).
  • Surveillez votre orthographe, nous ne vous demandons pas d'être littéraire, mais que votre message soit au moins compréhensible. Evitez à tout prix le style SMS.
  • Expliquez clairement le problème, ce n'est pas toujours facile, mais mieux vaut essayer de le faire le plus possible.
  • Ne postez pas de questions trop vagues du genre "comment faire un forum". Cela ne sert à rien, cela ne s'explique pas sur un coin de forum.
  • Mettez un titre clair, correspondant au sujet que vous allez poster. A l'aide, au secours, etc... ne sont pas d'une grande utilité pour ceux qui vont vous aider. Parfois nous passons en coup de vent, et si nous ne savons pas ce que va contenir le message, nous ne le regarderons même pas.
  • Ne mettez par [URGENT] ou autre joyeuseté du genre dans vos titres de messages. Cela irrite les gens (il y'a plus urgent dans la vie, pensez aux gens qui meurent de faim ou ayant besoin des pompiers, ça c'est urgent), et vous n'aurez pas votre réponse plus vite pour autant.
  • Si vous connaissez déjà à quel domaine votre question d'adresse (par exemple mysql, html, php, javascript), n'hésitez pas à le marquer au début de votre message, avec un [html] par exemple (notez les minuscules).
  • Ne dites pas "ça marche pas". Il y a toujours des raisons. Je vous invite à consulter le tutorial "ça marche pas" qui vous aidera à mieux expliquer votre problème.
  • Ne postez pas 36000 lignes de code. Sur le forum, le code apparaît non coloré et sans indentation, ce qui est illisible. Au dessus de 5 lignes, plus personne ne lit et vous n'aurez pas de réponse. Utilisez le wall
  • En règle générale restez courtois et clair, n'oubliez pas que la politesse fait partie de la vie courante. Il est de bon ton de dire bonjour même pour une réponse, même plusieurs fois dans la journée (ceux qui vous lisent n'ont pas forcément lu vos autres messsages)

La Fin

Avec tout ces conseils vous augmenterez les chances de réponse, leur pertinence et leur rapidité

Voilà, ça sera tout, bonne écriture :)

Fermer les règles et poster un message


www.phpdebutant.org © 2012 - L'équipe de phpDebutant - Hébergement : WDMédia-hébergement