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 :

Warning: failed to open stream: No such file or directory


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    bac stmg option système d'information de gestion
    Inscrit en
    Mai 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : bac stmg option système d'information de gestion

    Informations forums :
    Inscription : Mai 2018
    Messages : 9
    Par défaut Warning: failed to open stream: No such file or directory
    Bonjour/Bonsoir, Je travaille pour un projet pour le bac et, j'ai aujourd'hui essayé de ranger un code qui tourner plus ou moins bien, or avec les include que j'utilise et les modifications de bases que j'ai fait j'ai surement des erreurs que je n'arrive pas à voir

    les erreurs qui apparaissent pour le moment :
    Warning: include(../rs/base_donnée.php): failed to open stream: No such file or directory in C:\wamp64\www\rs\index.php on line 2

    Warning: include(): Failed opening '../rs/base_donnée.php' for inclusion (include_path='.;C:\php\pear') in C:\wamp64\www\rs\index.php on line 2
    ce serait aimable a vous de m'indiquer les erreurs possible et mon problème d'include, je viens de changer les dossiers j'avais la page base_donée.php et conditions.php dans register.php je préfère rendre quelque chose de propre aux examinateur mais j'ai du mal à réorganisé mon code. Ce serait très aimable à vous de m'y aider je suis débutant et cela va pauser problème pour la suite de mon code.

    Je vous met mon code ci-dessous:
    register.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
     
    <h1>Inscription</h1>
     
    <form method='POST'action=''>
     
    	<label for='sexe'>Sexe</label>
    	<select name="sexe">
    			<?php echo isset($sexe)?'<option value='.$sexe.'>'.$sexe.'</option>':'';?>
    			<?php echo $sexe!='Homme'?'<option value="Homme">Homme</option>':''; ?>
    			<?php echo $sexe!='Femme'?'<option value="Femme">Femme</option>':'';?>
    	</select><br/></br>
    	<label for='sexe'>Situation</label>
    	<select name="situation">
     
    		<?php echo isset($situation)?'<option value='.$situation.'>'.$situation.'</option>':'';?>
    		<?php echo $situation!='Célibataire'?'<option value="Célibataire">Célibataire</option>':'';?>
    		<?php echo $situation!='En couple'?'<option value="En couple">En couple</option>':'';?>
    		<?php echo $situation!='Divorcé(e)'?'<option value="Divorcé(e)">Divorcé(e)</option>':'';?>
    		<?php echo $situation!='Veuf(ve)'?'<option value="Veuf(ve)">Veuf(ve)</option>':'';?>
     
    	</select><br/><br/>
     
    	<label for="pseudo">Votre pseudo:</label>
    	<input type="text" name="pseudo"value='<?php echo isset($pseudo)?$pseudo:''; ?>'><br/>
     
    	<label for="password">Votre password:</label>
    	<input type="password"name="password"><br/>	
     
    	<label for="repeatpassword">Repetez votre password:</label>
    	<input type="password"name="repeatpassword"><br/>
     
    	<label for="email">Veuillez saisir votre Email:</label>
    	<input type="text"name="email"value='<?php echo isset($email)?$email:''; ?>'><br/>
     
    	<label for="apropos">A propos de vous</label>
    	<textarea rows="6"cols="30"name="apropos"><?php echo isset($apropos)?$apropos:''; ?></textarea><br/>
     
     
     
    	<input type="submit" value="S'inscrire" name="submit">
     
     
     
     
    </form>
     
    <a href='index.php?page=login'>Retournez à la page de connexion</a>
    login.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <h1>Connexion</h1>
     
     
    <form method="POST" action="">
    	<label for="pseudo">Votre pseudo:</label>
    	<input type="text" 	name="pseudo"><br/>
    	<label for="password">Votre password:</label>
    	<input type="password" name="password"><br/><br/>
    	<input type="submit" value="Se connecter" name="submit">
    </form>	
     
    <a href='index.php?page=register'>Pas encore membre</a>
    index.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
     
    <?php
    include('../rs/base_donnée.php');
    $page=htmlentities($_GET['page']);
     
    $pages=scandir('pages');
     
    	if(!empty($page) && in_array($_GET['page'].".php",$pages))
    	{	
    		$content='pages/'.$_GET['page'].".php";
    	}else{
    	header("Location:index.php?page=login");
    		 }
    ?>
     
    <!DOCTYPE html>
    <html>
    	<head>
    		<link rel='stylesheet' href='css/style'>
    	</head>
    		<body>
    			<div id='content'>
    			<?php
    			include($content);
    			?>
    			</div>
    		</body>
    </html>
    base_donnée.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
     
    <?php
    // connexion a la base de donnée
    		$connexion = mysqli_connect('localhost', 'root', '', 'rs');
    //cration des variables
    		$pseudo=$_GET["pseudo"];
    		$mail=$_GET["mail"];
    		$password=$_GET["password"];
    		$repeatpassword=$_GET["repeatpassword"];
    		$apropos=$_GET["apropos"];
    		$sexe=$_GET["sexe"];
    		$situation=$_GET["situation"];
    		{
    		$coid = mysqli_query($connexion,"SELECT max(id) as maxid FROM `utilisateurs`");
    		$res=mysqli_fetch_assoc($coid);
    		if ($res["maxid"])
    		$id=$res["maxid"]+1;
    		else $id=0;
    		}
    		//insertion dans la base de donnée des variables crées.
    		$query="INSERT INTO utilisateurs(id,pseudo,password,email,apropos,situation,sexe) VALUES ($id,'$pseudo','$password','$email','$apropos','$situation','$sexe')";
    		$resultat = mysqli_query($connexion,$query);
     
    		exit;
    ?>
    conditions.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
     
    <?php
    if ( empty($_POST['pseudo']))
    		{
    			$errors[]="Veuillez saisir votre pseudo";
    		}
     
    		if(empty($_POST['password']))
    		{
    			$errors[] = "Veuillez saisir votre mots de passe";
    		}
     
    		if($_POST['password'] != $_POST['repeatpassword'])
    		{
    			$errors[] = "Vos deux mots de passe doivent être identiques";
    		}
     
    		if(!filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
    		{
    			$errors[] = "Votre adresse email n'est pas correcte";
    		}
     
    		if(empty($_POST['apropos']))
    		{
    			$errors[] = "Veuillez vous décrire en quelle que ligne";
    		}
     
    		if(!empty($errors))
    		{
    			foreach($errors as $error)
    			{
    				echo "<div class='error'>".$error."</div>";
    			}
    		}
     
    ?>
    je vous remercie d'avance et vous salut

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour et bienvenu sur DVP,

    Ce n'est pas en mettant 15 km de code * que tu auras une réponse plus rapide... La preuve...
    * Surtout quand le code n'a AUCUN rapport !

    La première chose à faire est de LIRE et COMPRENDRE le message d'erreur.

    Warning: include(../rs/base_donnée.php): failed to open stream: No such file or directory in C:\wamp64\www\rs\index.php on line 2
    L'erreur indique qu'il ne trouve pas le fichier base_donnée.php, inclus dans le fichier index.php à la ligne 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include(../rs/base_donnée.php)
    De plus, il manque des '...'.

    Vérifie le chemin, en fonction de l'arborescence des dossiers.

    A priori :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    include(__DIR__.'/rs/base_donnée.php'); // on remonte dans rs depuis le fichier incluant
    ou
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    include(dirname(__DIR__).'/rs/base_donnée.php'); // on descend d'un niveau depuis le fichier incluant, puis on remonte dans rs


    Soit dit en passant : ÉVITE les accents dans les noms de fichiers/dossiers/variables !

  3. #3
    Membre du Club
    Homme Profil pro
    bac stmg option système d'information de gestion
    Inscrit en
    Mai 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : bac stmg option système d'information de gestion

    Informations forums :
    Inscription : Mai 2018
    Messages : 9
    Par défaut Merci, j'ai reussi à mettre à jour mon code mais là j'ai une autre erreur sur laquelle je bloque mysqli error
    type d'erreur :
    (!) Attention: mysqli_error () attend exactement 1 paramètre, 0 donné dans C: \ UwAmp \ www \ rs \ functions.php à la ligne 12 et
    (!) Attention: mysqli_query () attend au moins 2 paramètres, 1 donné dans C: \ UwAmp \ www \ rs \ functions.php à la ligne 13
    register.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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
     
     
    <h1>Inscription</h1>
     
    <?php
     
        if(isset($_POST['submit']))
        {
            $sexe =htmlentities($_POST['sexe']);
            $pseudo =htmlentities($_POST['pseudo']);
            $password =htmlentities($_POST['password']);
            $repeatpassword=htmlentities($_POST['repeatpassword']);
            $email =htmlentities($_POST['email']);
            $apropos =htmlentities($_POST['apropos']);
            $situation=htmlentities($_POST['situation']);
     
            if(empty($pseudo))
            {
                $errors[]="Veuillez saisir votre pseudo";
            }
     
            if(empty($password))
            {
                $errors[] = "Veuillez saisir votre mots de passe";
            }
     
            if($password!=$repeatpassword)
            {
                $errors[] = "Vos deux mots de passe doivent être identiques";
            }
     
            if(!filter_var($email,FILTER_VALIDATE_EMAIL))
            {
                $errors[] = "Votre adresse email n'est pas correcte";
            }
     
            if(empty($apropos))
            {
                $errors[] = "Veuillez vous décrire en quelle que ligne";
            }
     
            if(!empty($errors))
            {
                foreach($errors as $error)
                {
                    echo "<div class='error'>".$error."</div>";
                }
            }else{
     
            inscrire_utilisateur($pseudo,$password,$email,$sexe,$situation,$apropos);
            die('Inscription terminée ,vous pouvez vous <a href=\'index.php?page=login\'>connecter');
     
            }
     
        }
     
    ?>
    <form method='POST'action=''>
     
        <label for='sexe'>Sexe</label>
        <select name="sexe">
                <?php echo isset($sexe)?'<option value='.$sexe.'>'.$sexe.'</option>':'';?>
                <?php echo $sexe!='Homme'?'<option value="Homme">Homme</option>':''; ?>
                <?php echo $sexe!='Femme'?'<option value="Femme">Femme</option>':'';?>
        </select><br/></br>
        <label for='sexe'>Situation</label>
        <select name="situation">
     
            <?php echo isset($situation)?'<option value='.$situation.'>'.$situation.'</option>':'';?>
            <?php echo $situation!='Célibataire'?'<option value="Célibataire">Célibataire</option>':'';?>
            <?php echo $situation!='En couple'?'<option value="En couple">En couple</option>':'';?>
            <?php echo $situation!='Divorcé(e)'?'<option value="Divorcé(e)">Divorcé(e)</option>':'';?>
            <?php echo $situation!='Veuf(ve)'?'<option value="Veuf(ve)">Veuf(ve)</option>':'';?>
     
        </select><br/><br/>
     
        <label for="pseudo">Votre pseudo:</label>
        <input type="text" name="pseudo"value='<?php echo isset($pseudo)?$pseudo:''; ?>'><br/>
     
        <label for="password">Votre password:</label>
        <input type="password"name="password"><br/>
     
        <label for="repeatpassword">Repetez votre password:</label>
        <input type="password"name="repeatpassword"><br/>
     
        <label for="email">Veuillez saisir votre Email:</label>
        <input type="text"name="email"value='<?php echo isset($email)?$email:''; ?>'><br/>
     
        <label for="apropos">A propos de vous</label>
        <textarea rows="6"cols="30"name="apropos"><?php echo isset($apropos)?$apropos:''; ?></textarea><br/>
     
     
     
        <input type="submit" value="S'inscrire" name="submit">
     
     
     
     
    </form>
     
    <a href='index.php?page=login'>Retournez à la page de connexion</a>
    functions.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
     
    <?php
        // connexion a la base de donnée
    $bdd = mysqli_connect('localhost', 'root', 'root', 'rs')or die('error');
     
     
     
    //function qui va se charger d'inscrire l'utilisateur
     
        function inscrire_utilisateur($pseudo,$password,$email,$sexe,$situation,$apropos)
    {
        $password=sha1($password);
        mysqli_query("INSERT INTO utilisateurs(pseudo,password,email,sexe,situation,apropos) VALUES ('$pseudo','$password','$email','$sexe','$situation','$apropos')") or die(mysqli_error());
    }
     
        function pseudo_existe($pseudo)
    {
    $query=mysqli_query("SELECT COUNT(id)FROM utilisateurs WHERE pseudo='$pseudo'");
    return mysqli_result($query,0);
    }
    je suis pourtant allez sur http://php.net/manual/fr/mysqli.query.php mais je ne comprend pas bien et ou je ne vois pas l'erreur

  4. #4
    Invité
    Invité(e)
    Par défaut
    Style procédural : il manque le paramètre $link (la connexion).

  5. #5
    Membre du Club
    Homme Profil pro
    bac stmg option système d'information de gestion
    Inscrit en
    Mai 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : bac stmg option système d'information de gestion

    Informations forums :
    Inscription : Mai 2018
    Messages : 9
    Par défaut $link
    en effet, pour ceci je dois definir la variable $link avant ?
    et la mettre dans mon register, car je vois pas trop
    Excuse moi de mon incompétence nous n'avons pas été formé car notre professeur est partis depuis janvier j'ai du apprendre en autodidacte mais j'ai des lacunes, pourtant j'ai un projet à rendre pour la semaine prochaine coefficient 6
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            $sexe =htmlentities$link($_POST['sexe']));
            $pseudo =htmlentities($link($_POST['pseudo']));
            $password =htmlentities($link($_POST['password']));
            $repeatpassword=htmlentities($link($_POST['repeatpassword']));
            $email =htmlentities($link($_POST['email']));
            $apropos =htmlentities($link($_POST['apropos']));
            $situation=htmlentities($link($_POST['situation']));
    comme cela et je la reutilise dans mon functions.php ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    mysqli_query($link,"INSERT INTO utilisateurs(pseudo,password,email,sexe,situation,apropos) VALUES ('$pseudo','$password','$email','$sexe','$situation','$apropos')") or die(mysqli_error());
    	$resultat = mysqli_query($connexion,$link);

  6. #6
    Invité
    Invité(e)
    Par défaut
    $link, c'est le $bdd que tu as défini.

    Par contre, il faut aussi le définir dans les fonctions.

    Par exemple, en variable global :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
        // connexion a la base de donnée
    $bdd = mysqli_connect('localhost', 'root', 'root', 'rs')or die('error');
     
    function xxxxxxxx(.....)
    {
       global $bdd;
    ....
       mysqli_query($bdd, "INSERT ....");
    .....

Discussions similaires

  1. Réponses: 11
    Dernier message: 02/09/2016, 14h46
  2. Réponses: 3
    Dernier message: 01/09/2009, 07h38
  3. failed to open stream: No such file or directory
    Par Invité dans le forum Langage
    Réponses: 11
    Dernier message: 17/03/2009, 19h02
  4. "failed to open stream: No such file or directory in.."
    Par Xpertfly dans le forum Langage
    Réponses: 2
    Dernier message: 24/10/2008, 09h56
  5. failed to open stream: No such file or directory
    Par Deallyra dans le forum Langage
    Réponses: 4
    Dernier message: 26/06/2007, 09h33

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