IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

sql server et php


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2013
    Messages : 55
    Points : 34
    Points
    34
    Par défaut sql server et php
    bonjour
    j'ai un projet de fin des études et j ai jamais travaillée avec sql server est ce que a chaque fois je dois écrire la classe connexion et comment exécuté cette requête??
    voila le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <?php
            $username="sa";               //Représente le user sur ta base
    		$password="m0615315009";                   // Représente le passwd
    		$bd="CNXSQL";                     // Représente le nom du driver ODBC pour SQL Server
    	$connexion = odbc_connect($bd,$username,$password); 
     
    	session_start();
        if(!empty($_POST["log"])&& !empty($_POST["mdp"]))
    	{
    	$mdp=($_POST["mdp"]);
    	$lg=($_POST["log"]);
     
    	$sql="select * from utilisateurs1 where login= '".$lg."' and motdepasse= '".md5($mdp)."'";
     
     
    	odbc_exec($connexion, $res) ;
    	$res=mssql_query($sql);
    	$num=mssql_num_rows($res);
    	$user=mssql_fetch_array($res);
     
    	//$res=mysql_query($sql);
    	//$num=mysql_num_rows($res);
    	//$user=mysql_fetch_assoc($res);
     
     
    	odbc_exec($connexion, $res) ; //j ai ajouter cette ligne  quand jai  voulus travaillée avec sql server 
     
    		if($num!=0) {
    		if($user['type']=="mareyeur"){
    		$_SESSION["connect"] = true;
    		$_SESSION["nom"]=$user['nom'].' '.$user['prenom'];
    		header('location:mareyeur.php');
    		}
     
    		elseif($user['type']=="dpm"){
    		$_SESSION["connect"] = true;
    		$_SESSION["nom"]=$user['nom'].' '.$user['prenom'];
    		header('location:dpm.php');
    		}
    		elseif($user['type']=="admin"){
    		$_SESSION["connect"] = true;
    		$_SESSION["nom"]=$user['nom'].' '.$user['prenom'];
    		header('location:admin.php');
    		}
    		}
     
    	}
     
    ?>
    merci d'avance

  2. #2
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    est ce que a chaque fois je dois écrire la classe connexion et comment exécuté cette requête
    J'ai jamais exploité odbc, mais sache malgré tout que ton code est totalement procédural, il n'y a pas l'ombre d'une classe qui traine par là.

    Si tu regarde la doc, la fonction odbc_connect() renvoie une ressource (et non un Objet par exemple).
    Le fonctionnement serait appartement proche des fonction mysql_truc_machin, donc (sous réserve bien sûr) il n'y aurait pas besoin d'ouvrir N fois une connexion.

    Par ailleurs, c'est juste un petit conseil, quand on test de nouvelles fonctionnalités, il est préférable de le faire de manière le plus basique possible.

    Lancer comme ton code une requête pour tout de suite derrière faire une redirection (un header) empêche de faire des test convenablement.

    Bref, fait simple, sans redirection, sans session, etc ... tout cela ne sert à rien pour comprendre comment fonctionne odbc/MySQL Server
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2013
    Messages : 55
    Points : 34
    Points
    34
    Par défaut rep php et odbc
    oui mais sans session sans vérification des rôle tous ma marche bien je suis obligé de faire tous ca ,ce que je veux savoir qui ce que je dois donner comme paramétre pour odbc_exec($connexion,????) ;
    et moi j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    $sql="select * from utilisateurs1 where login= '".$lg."' and motdepasse= '".md5($mdp)."'";
    $res=mssql_query($sql);
    $num=mssql_num_rows($res);
    $user=mssql_fetch_array($res);
    if($num!=0) {
    	if($user['type']=="mareyeur"){
    		$_SESSION["connect"] = true;
    		$_SESSION["nom"]=$user['nom'].' '.$user['prenom'];
    		header('location:mareyeur.php');
    	}
    	elseif($user['type']=="dpm"){
    		$_SESSION["connect"] = true;
    		$_SESSION["nom"]=$user['nom'].' '.$user['prenom'];
    		header('location:dpm.php');
    	}
    	elseif($user['type']=="admin"){
    		$_SESSION["connect"] = true;
    		$_SESSION["nom"]=$user['nom'].' '.$user['prenom'];
    		header('location:admin.php');
    	}
    }

  4. #4
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    ce que je veux savoir qui ce que je dois donner comme paramétre pour odbc_exec($connexion,????) ;
    As tu consulter la doc de Php en ligne ?
    -> Pour odbc_exec()
    Description de la fonction odbc_exec :
    Citation Envoyé par Doc Php
    resource odbc_exec ( resource $connection_id , string $query_string [, int $flags ] )
    Sinon il y a une autre façon de faire, qui à mon sens serait mieux, c'est de faire une requête préparée :
    odbc_prepare + odbc_execute()

    Il y aurait encore une autre façon, c'est d'exploiter PDO au lieu des fonctions odbc_bla_bla.
    Faut voir si c'est possible tout de même (jamais essayé mais je serais étonné du contraire).


    Au passage, je n'est pas vu de fonction odbc_query coté de la doc.
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2013
    Messages : 55
    Points : 34
    Points
    34
    Par défaut php et sql server
    je vais essayée ce que tu m'a proposé mercii

  6. #6
    Nouveau membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2013
    Messages : 55
    Points : 34
    Points
    34
    Par défaut
    j ai essayée ce que tu m'a dis,je sais pas est ce que c'est juste mais le principe que marche pas bon tu peux m'aider voila le code ah le problème que il ne vérifié pas est ce que c'est un mareyeur ou dpm ou admin ou méme pas que le login et le mdp sont false il le passé a la dernière if il affiche la page admin.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    <?php
            $username="sa";               //Représente le user sur ta base
    		$password="m0615315009";                   // Représente le passwd
    		$bd="CNXSQL";                     // Représente le nom du driver ODBC pour SQL Server
    	$connexion = odbc_connect($bd,$username,$password); 
     
    	session_start();
        if(!empty($_POST["log"])&& !empty($_POST["mdp"]))
    	{
    	$mdp=($_POST["mdp"]);
    	$lg=($_POST["log"]);
     
    	$sql="select * from utilisateurs1 where login= '".$lg."' and motdepasse= '".md5($mdp)."'";
     
    	$query = odbc_prepare($connexion, $sql);
    	$num=odbc_num_fields($query);
    	$user=odbc_fetch_row($query);
        $result = odbc_execute($query );
     
     
     
    		if($num!=0) {
     
    		if($user["type"].equals.'mareyeur'){
     
    		$_SESSION['connect'] = true;
    		$_SESSION['nom']=$user["nom"].' '.$user["prenom"];
    		echo'kkk';
    		header('location:mareyeur.php');
    		}
     
    		if($user["type"].equals.'dpm'){
    		$_SESSION['connect'] = true;
    		$_SESSION['nom']=$user["nom"].' '.$user["prenom"];
    		header('location:dpm.php');
    		}
    		if($user["type"].equals.'admin'){
    		$_SESSION['connect'] = true;
    		$_SESSION['nom']=$user["nom"].' '.$user["prenom"];
    		header('location:admin.php');
    		}
    		}
    		else{
    		header('location:index.php?msg=1');
    			}
     
    		}
    		else{
    			header('location:index.php?msg=2');
     
    	}
    ?>
    mercii !!

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2013
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 117
    Points : 92
    Points
    92
    Par défaut
    Slt,

    Moi, je te conseille d'utiliser xampp comme server php puis de telecharger les drivers php fournie par Microsoft (php_pdo_sqlsrv_54_ts.dll et php_sqlsrv_54_ts.dll). Il suffit de placer ces bibliotheques dans le repertoire "ext" puis de les ajouter dans le fichier php.ini.

    Voila, si tu as d'autre question n'hesite pas.

Discussions similaires

  1. [SQL-Server] sql server et php
    Par aminlove88 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 26/01/2009, 12h52
  2. [SQL-Server] sql server express + php connexion qui échoue
    Par if_zen dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/07/2006, 22h41
  3. [SQL-Server] Utilisation de SQL Server avec PHP
    Par kagura dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/01/2006, 15h39
  4. [SQL-Server] ms sql server et php : problème avec les caractères accentués
    Par stephane9422 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 05/12/2005, 17h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo