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 :
Citation:
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:
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:
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:
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:
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:
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 :)
Merci, j'ai reussi à mettre à jour mon code mais là j'ai une autre erreur sur laquelle je bloque mysqli error
type d'erreur :
Citation:
(!) 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:
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:
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
Fatal error: Call to undefined function pseudo_existe() in C:\wamp64\www\rs\pages\register.php on line 39
avec ta solution je l'ai essayer sauf qu'elle ne reconnais plus inscrire_utilisateur et donc ne march plus j'ai donc remis sa
mais ma function pseudo_existe n'est toujours pas reconnu
Citation:
Fatal error: Call to undefined function pseudo_existe() in C:\wamp64\www\rs\pages\register.php on line 39
register.func.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
<?php
// connexion a la base de donnée
$bdd = mysqli_connect('localhost', 'root', '', 'rs')or die('error');
//function qui va se charger d'inscrire l'utilisateur
function inscrire_utilisateur($bdd,$pseudo,$password,$email,$sexe,$situation,$apropos)
{
$password=sha1($password);
if(mysqli_query($bdd,"INSERT INTO utilisateurs(pseudo,password,email,sexe,situation,apropos) VALUES ('$pseudo','$password','$email','$sexe','$situation','$apropos')") == TRUE) {
printf("La requete a bien été effectuée");
}
}
function pseudo_existe($bdd,$pseudo)
{
$query=mysqli_query($bdd, "SELECT COUNT(id) FROM utilisateurs WHERE pseudo='$pseudo'");
return mysqli_num_rows($query);
mysqli_free_result($query);
mysqli_close($bdd);
} |
?>
register.php
Code:
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
|
<?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";
}
(ligne 39) echo pseudo_existe($bdd,$pseudo);
if(!empty($errors))
{
foreach($errors as $error)
{
echo "<div class='error'>".$error."</div>";
}
}else{
inscrire_utilisateur($bdd,$pseudo,$password,$email,$sexe,$situation,$apropos);
die('Inscription terminée ,vous pouvez vous <a href=\'index.php?page=login\'>connecter');
}
}
?> |
sa me met juste une autre erreur j'ai donc regroupé register.php login.php login.func.php et register.func
sa me met juste une autre erreur
Citation:
( ! ) Parse error: syntax error, unexpected 'if' (T_IF) in C:\UwAmp\www\rs\pages\register.php on line 7
Call Stack
# Time Memory Function Location
1 0.0005 135784 {main}( ) ..\index.php:0
j'ai donc regroupé register.php login.php login.func.php et register.func dans le même dossier "pages"
l'index est donc :
Code:
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
$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> |
register.php:
Code:
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
|
<?php
require('register.func.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";
}
echo
if(!empty($errors))
{
foreach($errors as $error)
{
echo "<div class='error'>".$error."</div>";
}
}else{
inscrire_utilisateur($bdd,$pseudo,$password,$email,$sexe,$situation,$apropos);
printf("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>':'';?> |
login.php:
Code:
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
|
<h1>Connexion</h1>
<?php
require('login.func.php')
if(isset($_POST['submit']))
{
if(empty($_POST['pseudo']))
{
$errors[]="veuillez saisir votre pseudo";
}
if(empty($_POST['password']))
{
$errors[]="veuillez saisir votre password";
}
if(!empty($errors))
{
foreach($errors as $error)
{
echo"<div class='error'>".$error."</div>";
}
}else{
if (verifier_combinaison_pseudo_password('$bdd','$pseudo','$password')==0)
{
echo"<div class='error'>Pseudo ou password incorrect</div>";
}
}
}
?>
<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> |
login.func.php :
Code:
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');
//la function qui va verigier la combinaison pseudo/password
function verifier_combinaison_pseudo_password($bdd,$pseudo,$password)
{
$pseudo=mysqli_real_escape_string(htmlentities($_POST['pseudo']));
$password=mysqli_real_escape_string(htmlentities($_POST['password']));
$password=sha1($password);
$query=mysqli_query("SELECT pseudo,password FROM utilisateurs WHERE pseudo='$pseudo'AND password='$password'");
$rows=mysqli_num_rows($query);
return $rows;
}
?> |
register.func.php:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
<?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($bdd,$pseudo,$password,$email,$sexe,$situation,$apropos)
{
@$password=sha1($password);
@mysqli_query($bdd,"INSERT INTO utilisateurs(pseudo,password,email,sexe,situation,apropos) VALUES ('$pseudo','$password','$email','$sexe','$situation','$apropos')") or die(mysqli_error());
@$resultat =mysqli_query($bdd,$query);
}
function pseudo_existe($bdd,$pseudo)
{
$query=mysqli_query("SELECT COUNT(id)FROM utilisateurs WHERE pseudo='$pseudo'");
return mysqli_result($query,0);
}
?> |