Envoyer des donner et vérifier si elle excite déjà [Résolu]

Signaler
Messages postés
32
Date d'inscription
jeudi 3 juin 2021
Statut
Membre
Dernière intervention
15 juillet 2021
-
Messages postés
32
Date d'inscription
jeudi 3 juin 2021
Statut
Membre
Dernière intervention
15 juillet 2021
-
Bonjour,
J'ai conçu cette page web pour envoyer des donné dans un table, j'ai fais une fonction qui teste si le table saisie excite, une autre fonction qui quand a elle vérifié sir le numéro saisie est déjà dans la table et que si le numéro n'est pas sélectionne, elle exécute la fonctionne pour ajouter les donne dans cette table.
J'ai aussi fais un code qui dois echo le code du formulaire le nombre de fois sélectionne dans l'input a cette effet mais cela ne fonctionne pas.

je vous met mon code :

<?php
require('ses.php');
//affichage des erreurs PHP
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

// Récupération PROPRE des variables AVANT de les utiliser
$NbAj = empty($_POST['nbaj']) ? $_POST['nbaj'] : NULL;
$DB = !empty( $_POST['DB']) ?  $_POST['DB'] : NULL;
$nameEpi = !empty( $_POST['nameEpi']) ?  $_POST['nameEpi'] : NULL; 
$numEpi = !empty( $_POST['numEpi']) ?  $_POST['numEpi'] : NULL;
$linkEpi = !empty( $_POST['linkEpi']) ?  $_POST['linkEpi'] : NULL;

require('configepi.php');
// fonction pour verifier si le table existe
function DBVerif($DB, $DBVerif){
    $DBVerif_query = mysqli_query($conn, "SHOW TABLES LIKE `$DB`")or die(mysql_error());
    if(mysql_num_rows($DBVerif) == 1){
        $DBVerif == TRUE;
    }else{
        $DBVerif == FALSE;
        $message = "La base de donnée sélectionné n'existe pas";
    }
}
//fonction pour verif si un episode exite ou pas
function VerifEpi($DB, $nameEpi){
    DBVerif($DB,$DBVerif);
    if($DBVerif == TRUE){
        $Epi_query = mysqli_query($conn, "SELECT `epsiode` FROM `$DB` WHERE `$numEpi`");
        if(empty($Epi_query)){
            addEpi($DB, $nameEpi, $numEpi, $linkEpi);
        }else{
            $message = "L'episode existe deja";
        }
    }else{
        $message = "La base de donnée sélectionné n'existe pas";
    }
}
//fonction pour ajouter un episode
function addEpi($DB,$nameEpi, $numEpi, $linkEpi){
    $add_query = mysqli_query($conn, "INSERT into `$DB` (epsiode, title, lien)VALUES('$numEpi', '$nameEpi', '$linkEpi') ");
    $message = "L'episode a été ajouté";
}

//juste le temps des tests, pour voir si ton formulaire s'envoie bien
echo "<br> ---> POST :";
var_dump($_POST);
?>

<!DOCTYPE html>
<html>
  <head>
    <meta name="googlebot" content="noindex">
      <link rel="icon" type="images/png" sizes="512x512" href="android-chrome-512x512.png">
      <link rel="stylesheet" href="serie/allstyle.css">
      <link rel="stylesheet" href="style.css">
      <link rel="stylesheet" href="style1.css">
      <meta charset="UTF-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Streawer</title>
  </head>
  <body style="background-color: #444444;">
    <!-- En-tête de la page-->
    <div class="entete" onclick="window.location.reload()">
        <img src="img/logo.png" id="logo" alt="Logo Streawer"/>
        <a href="main.php" id="nm" style="color: #4DB89A;"><h1 id="nom">Streawer</h1></a>
    </div>
<?php
    $StNb = 1;
    while($StNb==$NbAj){
?>
     <form class="box" action="" method="post">
<?php     echo' <h1>Nouvelle episode</h1>
                <input type="text" class="box-input" name="DB" placeholder="Nom de la BD" required>
                <input type="text" class="box-input" name="nameEpi" placeholder="Nom de l episode" required>
                <input type="text" class="box-input" name="numEpi" placeholder="Numero de l epidode" required>
                <input type="text" class="box-input" name="linkEpi" placeholder="Lien de L episode" required>
                <input type="submit" name="submit" value="Ajouter" class="box-button">
                <?php
                if (!empty($message)){
                    echo "<p class="errorMessage">'.$message.'</p>";
                }
                ?>'
?>
<input type="number" name="nbaj" value="1" class="box-num" style="margin: 20px;font-size: 20px;text-align: center;border: 10px;background-color: #444444;color: #4DB89A;">
</form>
<?php } ?>

    <script>
    $(document).keydown(function(e){
      if(e.which === 123){
         return false;
      }
    });
    </script>
  </body>
<?php include('footer.php'); ?>
</html>

4 réponses

Messages postés
16404
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 juillet 2021
877
bonjour,
rien ne fonctionne?
Messages postés
32
Date d'inscription
jeudi 3 juin 2021
Statut
Membre
Dernière intervention
15 juillet 2021
1
oui rien ne fonctionne
Messages postés
33113
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 juillet 2021
3 626
Bonjour,
function DBVerif($DB, $DBVerif){
    $DBVerif_query = mysqli_query($conn, "SHOW 

Tu cherches à utiliser, dans tes fonctions, la variable $conn ... mais tu ne la passes pas en paramètre de ta fonction.. ( à moins que ça ne soit la variable $DB ... auquel cas tu n'as utilisé la bonne variable dans ton code .. )

De plus.. tu n'appelles pas ta fonction VerifEpi ... donc forcément.. elle ne risque pas de marcher ...
Messages postés
33113
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 juillet 2021
3 626 >
Messages postés
32
Date d'inscription
jeudi 3 juin 2021
Statut
Membre
Dernière intervention
15 juillet 2021

D'où vient cette variable $DBVerif ? Où l'as tu initialisée ?
Que contient ton fichier configepi.php ?

$DBVerif_query = mysqli_query($conn, "SHOW TABLES LIKE '$DB'")or die(mysqli_error());
    if(mysqli_num_rows($DBVerif) == 1){

Tu fais la requête et stockes son résultat dans la variable $DBVerif_query .. mais ensuite tu essayes de faire un num_rows sur la variable $DBVerif ... forcément .. ça coince ..

Faut apprendre à relire ton code avant de venir nous poser des questions... ça te fera gagner tu temps....
Messages postés
32
Date d'inscription
jeudi 3 juin 2021
Statut
Membre
Dernière intervention
15 juillet 2021
1 >
Messages postés
33113
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 juillet 2021

une nouvelle erreur est apparue avec les deux autre

Notice: Undefined variable: DBVerif in /storage/ssd3/384/16626384/public_html/NewEpi1.php on line 52

Warning: mysqli_query() expects parameter 1 to be mysqli, object given in /storage/ssd3/384/16626384/public_html/NewEpi1.php on line 24

Warning: mysqli_error() expects exactly 1 parameter, 0 given in /storage/ssd3/384/16626384/public_html/NewEpi1.php on line 24
Messages postés
33113
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 juillet 2021
3 626 >
Messages postés
32
Date d'inscription
jeudi 3 juin 2021
Statut
Membre
Dernière intervention
15 juillet 2021

Si tu ne réponds pas à mes questions, cela va être compliqué de te venir en aide..
En plus, si tu modifies ton code pense à nous le montrer à chaque fois...
Messages postés
32
Date d'inscription
jeudi 3 juin 2021
Statut
Membre
Dernière intervention
15 juillet 2021
1 >
Messages postés
33113
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 juillet 2021

le fichier configepi.php est le fichier pour se connecter a la DB. La variable DBVerif sert a vérifier si une table existe ou non.

<?php
// Initialiser la session
session_start();
// Vérifiez si l'utilisateur est connecté, sinon redirigez-le vers la page de connexion
if(!isset($_SESSION["username"])){
// verifier si l'utilisateur peut avoir acceder a la page
    if($_SESSION['username'] === 'admin'){
    }else{
        header("Location: https://streawer.000webhostapp.com/");
        exit();
    }
}
//affichage des erreurs PHP
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
$message = "";
// Récupération PROPRE des variables AVANT de les utiliser
$NbAj = !empty($_POST['nbaj']) ? $_POST['nbaj'] : NULL;
$DB = !empty( $_POST['DB']) ?  $_POST['DB'] : NULL;
$nameEpi = !empty( $_POST['nameEpi']) ?  $_POST['nameEpi'] : NULL; 
$numEpi = !empty( $_POST['numEpi']) ?  $_POST['numEpi'] : NULL;
$linkEpi = !empty( $_POST['linkEpi']) ?  $_POST['linkEpi'] : NULL;

require('configepi.php');
// fonction pour verifier si le table existe
function DBVerif($conn, $DB, $DBVerif, $message){
    $DBVerif_query = mysqli_query($conn, "SHOW TABLES LIKE '$DB'")or die(mysqli_error());
    if(mysqli_num_rows($DBVerif_query) == 1){
        $DBVerif == TRUE;
    }else{
        $DBVerif == FALSE;
        $message = "La base de donnée sélectionné n'existe pas";
    }
}
//fonction pour verif si un episode exite ou pas
function VerifEpi($conn, $DBVerif, $DB, $nameEpi, $numEpi, $linkEpi, $message){
    DBVerif($conn, $DB,$DBVerif, $message);
    if($DBVerif == TRUE){
        $Epi_query = mysqli_query($conn, "SELECT `epsiode` FROM `$DB` WHERE `$numEpi`");
        if(empty($Epi_query)){
            addEpi($conn, $DB,$nameEpi, $numEpi, $linkEpi, $message);
        }else{
            $message = "L'episode existe deja";
        }
    }else{
        $message = "La base de donnée sélectionné n'existe pas";
    }
}
//fonction pour ajouter un episode
function addEpi($conn, $DB,$nameEpi, $numEpi, $linkEpi, $message){
    $add_query = mysqli_query($conn, "INSERT into `$DB` (epsiode, title, lien)VALUES('$numEpi', '$nameEpi', '$linkEpi') ");
    $message = "L'episode a été ajouté";
}

VerifEpi($conn, $DBVerif, $DB, $nameEpi, $numEpi, $linkEpi, $message);
//juste le temps des tests, pour voir si ton formulaire s'envoie bien
echo "<br> ---> POST :";
var_dump($_POST);
?>

<!DOCTYPE html>
<html>
  <head>
    <meta name="googlebot" content="noindex">
      <link rel="icon" type="images/png" sizes="512x512" href="android-chrome-512x512.png">
      <link rel="stylesheet" href="serie/allstyle.css">
      <link rel="stylesheet" href="style.css">
      <link rel="stylesheet" href="style1.css">
      <meta charset="UTF-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Streawer</title>
  </head>
  <body style="background-color: #444444;">
    <!-- En-tête de la page-->
    <div class="entete" onclick="window.location.reload()">
        <img src="img/logo.png" id="logo" alt="Logo Streawer"/>
        <a href="main.php" id="nm" style="color: #4DB89A;"><h1 id="nom">Streawer</h1></a>
    </div>
<?php
    $StNb = 1;
    while($StNb==$NbAj){
?>
     <form class="box" action="" method="post">
<?php     echo' <h1>Nouvelle episode</h1>
                <input type="text" class="box-input" name="DB" placeholder="Nom de la BD" required>
                <input type="text" class="box-input" name="nameEpi" placeholder="Nom de l episode" required>
                <input type="text" class="box-input" name="numEpi" placeholder="Numero de l epidode" required>
                <input type="text" class="box-input" name="linkEpi" placeholder="Lien de L episode" required>
                <input type="submit" name="submit" value="Ajouter" class="box-button">
                <?php
                if (!empty($message)){
                    echo "<p class="errorMessage">'.$message.'</p>";
                }
                ?>'
?>
<input type="number" name="nbaj" value="1" class="box-num" style="margin: 20px;font-size: 20px;text-align: center;border: 10px;background-color: #444444;color: #4DB89A;">
</form>
<?php } ?>

    <script>
    $(document).keydown(function(e){
      if(e.which === 123){
         return false;
      }
    });
    </script>
  </body>
<?php include('footer.php'); ?>
</html>
Messages postés
32
Date d'inscription
jeudi 3 juin 2021
Statut
Membre
Dernière intervention
15 juillet 2021
1 >
Messages postés
33113
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 juillet 2021

le fichier configepi.php est le fichier pour se connecter a la DB. La variable DBVerif sert a vérifier si une table existe ou non.

<?php
// Initialiser la session
session_start();
// Vérifiez si l'utilisateur est connecté, sinon redirigez-le vers la page de connexion
if(!isset($_SESSION["username"])){
// verifier si l'utilisateur peut avoir acceder a la page
    if($_SESSION['username'] === 'admin'){
    }else{
        header("Location: https://streawer.000webhostapp.com/");
        exit();
    }
}
//affichage des erreurs PHP
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
$message = "";
// Récupération PROPRE des variables AVANT de les utiliser
$NbAj = !empty($_POST['nbaj']) ? $_POST['nbaj'] : NULL;
$DB = !empty( $_POST['DB']) ?  $_POST['DB'] : NULL;
$nameEpi = !empty( $_POST['nameEpi']) ?  $_POST['nameEpi'] : NULL; 
$numEpi = !empty( $_POST['numEpi']) ?  $_POST['numEpi'] : NULL;
$linkEpi = !empty( $_POST['linkEpi']) ?  $_POST['linkEpi'] : NULL;

require('configepi.php');
// fonction pour verifier si le table existe
function DBVerif($conn, $DB, $DBVerif, $message){
    $DBVerif_query = mysqli_query($conn, "SHOW TABLES LIKE '$DB'")or die(mysqli_error());
    if(mysqli_num_rows($DBVerif_query) == 1){
        $DBVerif == TRUE;
    }else{
        $DBVerif == FALSE;
        $message = "La base de donnée sélectionné n'existe pas";
    }
}
//fonction pour verif si un episode exite ou pas
function VerifEpi($conn, $DBVerif, $DB, $nameEpi, $numEpi, $linkEpi, $message){
    DBVerif($conn, $DB,$DBVerif, $message);
    if($DBVerif == TRUE){
        $Epi_query = mysqli_query($conn, "SELECT `epsiode` FROM `$DB` WHERE `$numEpi`");
        if(empty($Epi_query)){
            addEpi($conn, $DB,$nameEpi, $numEpi, $linkEpi, $message);
        }else{
            $message = "L'episode existe deja";
        }
    }else{
        $message = "La base de donnée sélectionné n'existe pas";
    }
}
//fonction pour ajouter un episode
function addEpi($conn, $DB,$nameEpi, $numEpi, $linkEpi, $message){
    $add_query = mysqli_query($conn, "INSERT into `$DB` (epsiode, title, lien)VALUES('$numEpi', '$nameEpi', '$linkEpi') ");
    $message = "L'episode a été ajouté";
}

VerifEpi($conn, $DBVerif, $DB, $nameEpi, $numEpi, $linkEpi, $message);
//juste le temps des tests, pour voir si ton formulaire s'envoie bien
echo "<br> ---> POST :";
var_dump($_POST);
?>

<!DOCTYPE html>
<html>
  <head>
    <meta name="googlebot" content="noindex">
      <link rel="icon" type="images/png" sizes="512x512" href="android-chrome-512x512.png">
      <link rel="stylesheet" href="serie/allstyle.css">
      <link rel="stylesheet" href="style.css">
      <link rel="stylesheet" href="style1.css">
      <meta charset="UTF-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Streawer</title>
  </head>
  <body style="background-color: #444444;">
    <!-- En-tête de la page-->
    <div class="entete" onclick="window.location.reload()">
        <img src="img/logo.png" id="logo" alt="Logo Streawer"/>
        <a href="main.php" id="nm" style="color: #4DB89A;"><h1 id="nom">Streawer</h1></a>
    </div>
<?php
    $StNb = 1;
    while($StNb==$NbAj){
?>
     <form class="box" action="" method="post">
<?php     echo' <h1>Nouvelle episode</h1>
                <input type="text" class="box-input" name="DB" placeholder="Nom de la BD" required>
                <input type="text" class="box-input" name="nameEpi" placeholder="Nom de l episode" required>
                <input type="text" class="box-input" name="numEpi" placeholder="Numero de l epidode" required>
                <input type="text" class="box-input" name="linkEpi" placeholder="Lien de L episode" required>
                <input type="submit" name="submit" value="Ajouter" class="box-button">
                <?php
                if (!empty($message)){
                    echo "<p class="errorMessage">'.$message.'</p>";
                }
                ?>'
?>
<input type="number" name="nbaj" value="1" class="box-num" style="margin: 20px;font-size: 20px;text-align: center;border: 10px;background-color: #444444;color: #4DB89A;">
</form>
<?php } ?>

    <script>
    $(document).keydown(function(e){
      if(e.which === 123){
         return false;
      }
    });
    </script>
  </body>
<?php include('footer.php'); ?>
</html>
Messages postés
32
Date d'inscription
jeudi 3 juin 2021
Statut
Membre
Dernière intervention
15 juillet 2021
1
le fichier configepi.php est le fichier pour se connecter a la DB. La variable DBVerif sert a vérifier si une table existe ou non.

<?php
// Initialiser la session
session_start();
// Vérifiez si l'utilisateur est connecté, sinon redirigez-le vers la page de connexion
if(!isset($_SESSION["username"])){
// verifier si l'utilisateur peut avoir acceder a la page
    if($_SESSION['username'] === 'admin'){
    }else{
        header("Location: https://streawer.000webhostapp.com/");
        exit();
    }
}
//affichage des erreurs PHP
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
$message = "";
// Récupération PROPRE des variables AVANT de les utiliser
$NbAj = !empty($_POST['nbaj']) ? $_POST['nbaj'] : NULL;
$DB = !empty( $_POST['DB']) ?  $_POST['DB'] : NULL;
$nameEpi = !empty( $_POST['nameEpi']) ?  $_POST['nameEpi'] : NULL; 
$numEpi = !empty( $_POST['numEpi']) ?  $_POST['numEpi'] : NULL;
$linkEpi = !empty( $_POST['linkEpi']) ?  $_POST['linkEpi'] : NULL;

require('configepi.php');
// fonction pour verifier si le table existe
function DBVerif($conn, $DB, $DBVerif, $message){
    $DBVerif_query = mysqli_query($conn, "SHOW TABLES LIKE '$DB'")or die(mysqli_error());
    if(mysqli_num_rows($DBVerif_query) == 1){
        $DBVerif == TRUE;
    }else{
        $DBVerif == FALSE;
        $message = "La base de donnée sélectionné n'existe pas";
    }
}
//fonction pour verif si un episode exite ou pas
function VerifEpi($conn, $DBVerif, $DB, $nameEpi, $numEpi, $linkEpi, $message){
    DBVerif($conn, $DB,$DBVerif, $message);
    if($DBVerif == TRUE){
        $Epi_query = mysqli_query($conn, "SELECT `epsiode` FROM `$DB` WHERE `$numEpi`");
        if(empty($Epi_query)){
            addEpi($conn, $DB,$nameEpi, $numEpi, $linkEpi, $message);
        }else{
            $message = "L'episode existe deja";
        }
    }else{
        $message = "La base de donnée sélectionné n'existe pas";
    }
}
//fonction pour ajouter un episode
function addEpi($conn, $DB,$nameEpi, $numEpi, $linkEpi, $message){
    $add_query = mysqli_query($conn, "INSERT into `$DB` (epsiode, title, lien)VALUES('$numEpi', '$nameEpi', '$linkEpi') ");
    $message = "L'episode a été ajouté";
}

VerifEpi($conn, $DBVerif, $DB, $nameEpi, $numEpi, $linkEpi, $message);
//juste le temps des tests, pour voir si ton formulaire s'envoie bien
echo "<br> ---> POST :";
var_dump($_POST);
?>

<!DOCTYPE html>
<html>
  <head>
    <meta name="googlebot" content="noindex">
      <link rel="icon" type="images/png" sizes="512x512" href="android-chrome-512x512.png">
      <link rel="stylesheet" href="serie/allstyle.css">
      <link rel="stylesheet" href="style.css">
      <link rel="stylesheet" href="style1.css">
      <meta charset="UTF-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Streawer</title>
  </head>
  <body style="background-color: #444444;">
    <!-- En-tête de la page-->
    <div class="entete" onclick="window.location.reload()">
        <img src="img/logo.png" id="logo" alt="Logo Streawer"/>
        <a href="main.php" id="nm" style="color: #4DB89A;"><h1 id="nom">Streawer</h1></a>
    </div>
<?php
    $StNb = 1;
    while($StNb==$NbAj){
?>
     <form class="box" action="" method="post">
<?php     echo' <h1>Nouvelle episode</h1>
                <input type="text" class="box-input" name="DB" placeholder="Nom de la BD" required>
                <input type="text" class="box-input" name="nameEpi" placeholder="Nom de l episode" required>
                <input type="text" class="box-input" name="numEpi" placeholder="Numero de l epidode" required>
                <input type="text" class="box-input" name="linkEpi" placeholder="Lien de L episode" required>
                <input type="submit" name="submit" value="Ajouter" class="box-button">
                <?php
                if (!empty($message)){
                    echo "<p class="errorMessage">'.$message.'</p>";
                }
                ?>'
?>
<input type="number" name="nbaj" value="1" class="box-num" style="margin: 20px;font-size: 20px;text-align: center;border: 10px;background-color: #444444;color: #4DB89A;">
</form>
<?php } ?>

    <script>
    $(document).keydown(function(e){
      if(e.which === 123){
         return false;
      }
    });
    </script>
  </body>
<?php include('footer.php'); ?>
</html>
Messages postés
32
Date d'inscription
jeudi 3 juin 2021
Statut
Membre
Dernière intervention
15 juillet 2021
1
Suite
https://forums.commentcamarche.net/forum/affich-37267341-requetes-qui-ne-fonctionne-pas