Base de donnée MySql chez Free - erreur code

yves -  
Harricote Messages postés 424 Statut Membre -
Bonjour,
Débutant (même très grand débutant) en php, j'ai trouvé un script php qui permet de protéger l'accés à une page.
J'ai testé tout cela en local sous Wamp, et là tout fonctionne sans problème.

J'ai publié tous mes fichiers chez free, ouvert ma base de données, et là catastrophe....
rien que des messages d'erreurs.

tout ça sur la même page.....

Warning: session_start() [function.session-start]: open(/mnt/102/sdb/a/0/raquettespietaise/sessions/sess_ce1f4d000e3b1c87c52954482c3c83cd, O_RDWR) failed: No such file or directory (2) in /mnt/102/sdb/a/0/raquettespietaise/index.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/102/sdb/a/0/raquettespietaise/index.php:2) in /mnt/102/sdb/a/0/raquettespietaise/index.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/102/sdb/a/0/raquettespietaise/index.php:2) in /mnt/102/sdb/a/0/raquettespietaise/index.php on line 2

Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /mnt/102/sdb/a/0/raquettespietaise/classes/Mysql.php on line 6

Warning: Unknown(): open(/mnt/102/sdb/a/0/raquettespietaise/sessions/sess_ce1f4d000e3b1c87c52954482c3c83cd, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/mnt/102/sdb/a/0/raquettespietaise/sessions) in Unknown on line 0

Est ce que quelqu'un aurait une solution à soumettre, une astuce, un conseil...

Par avance merci beaucoup,

Yves
Configuration: Windows XP
Firefox 3.0.6

9 réponses

  1. Harricote Messages postés 424 Statut Membre 41
     
    Pour les "Warning: session_start()...", as-tu mit, à la racine de ton site, un fichier qui s'appelle "seesions" ?

    Si tu n'en a pas, crés-en un.

    Pour le reste, peut-être que ça marchera si tu fais ce que je t'ai dit.

    Voilà
    0
  2. yves
     
    Merci,
    Non je n'ai pas de fichier qui se nomme session.php
    Quel doit en être le contenu ?
    Cordialement
    Yves
    0
  3. Harricote Messages postés 424 Statut Membre 41
     
    ATTENTION !

    Ce n'est pas un fichier. J'ai oublié de te dire que c'est un répertoire (donc il s'appelle juste "sessions" et non pas "sessions.php").
    Dans ce répertoire, tu ne mes rien. Il va s'y mettre des sessions. Mais toi, tu n'as rien a y mettre.

    Voilà
    0
  4. yves
     
    Super,
    Il y a du mieux..... la liste des messages d'erreurs a considérablement diminuées.
    Mais il reste encore celle-ci :

    Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /mnt/102/sdb/a/0/raquettespietaise/classes/Mysql.php on line 6

    Je suis désolé, d'être aussi nul et vous remercie de nouveau de votre contribution

    Cordialement,

    Yves
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Harricote Messages postés 424 Statut Membre 41
     
    Peux-tu mettre ton code, stp ?
    0
  7. yves
     
    voici le code du fichier nommé Mysql.php et qui se trouve dans un dossier classes
    <?php

    require_once 'includes/constants.php';

    class Mysql {
    private $conn;

    function __construct() {
    $this->conn = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME) or
    die('There was a problem connecting to the database.');
    }

    function verify_Username_and_Pass($un, $pwd) {

    $query = "SELECT *
    FROM users
    WHERE username = ? AND password = ?
    LIMIT 1";

    if($stmt = $this->conn->prepare($query)) {
    $stmt->bind_param('ss', $un, $pwd);
    $stmt->execute();

    if($stmt->fetch()) {
    $stmt->close();
    return true;
    }
    }

    }
    }

    Voici le code php de mon fichier index.php qui se trouve à la racine du site

    <?php
    session_start();
    require_once 'classes/Membership.php';
    $membership = new Membership();

    // If the user clicks the "Log Out" link on the index page.
    if(isset($_GET['status']) && $_GET['status'] == 'loggedout') {
    $membership->log_User_Out();
    }

    // Did the user enter a password/username and click submit?
    if($_POST && !empty($_POST['username']) && !empty($_POST['pwd'])) {
    $response = $membership->validate_User($_POST['username'], $_POST['pwd']);
    }

    ?>

    Encore merci
    0
  8. Harricote Messages postés 424 Statut Membre 41
     
    Déjà, d'après ce que dit l'erreur, ça se trouve à la ligne 6 de mysql.php. J'ai regardé, et si je ne me suis pas trompé, c'est cette ligne :
    private $conn; 
    . Si tu l'enlèves, ça te rajoute des erreurs ? Ou tu n'en a plus du tout ?
    0
  9. yves
     
    effectivement je n'ai plus d'erreur su la page index, elle s'affiche maintenant correctement.
    Par contre au test de saisi du code et de mot de passe j'ai l'erreur suivante

    Fatal error: Call to a member function on a non-object in /mnt/102/sdb/a/0/raquettespietaise/classes/Mysql.php on line 20

    grrrr..........
    Est ce qu'il y aurait une solution simple pour protéger l'acces à des pages d'un site web ?
    Peut être que cela serait plus facile que de trouver mon ou mes erreurs.
    en tout cas encore merci d'avance pour tout

    Cordialement
    Yves
    0
  10. Harricote Messages postés 424 Statut Membre 41
     
    Excusement moi d'avoir été un peu long...

    Oui il y a un moyen de protéger des pages d'un site. Il faut que tu les mettes dans un répertoire qui lui en fait sera protégé (donc les pages à l'intérieur aussi ^^).

    Ouvres ton bloc-note ou notepad++ ou autre et note à l'intérieur :
    deny from all
    Ensuite nomme le fichier .htaccess
    Et enfin, mets-le dans le répertoire dont les pages doivent être protégées.

    Voilà
    0