Base de données en local avec WAMP server

WRInaute discret
Bonjour,
Avec wamp server je n'arrive plus a poster dans ma BDD
ma config :
php 7.2.4
MySQL 5.7.14
Apache 2.4.23
windows 10

Le code ci dessous marche sur mon hebergement OVH (avec bien sur la connexion à la bdd ovh et pas la connexion local comme ci dessous)
le contenu de la bdd s'affiche donc la connection à la bdd est correcte
le nom de la table est correcte
Aucune erreur ne s'affiche lors du post
tous les privilèges dans phpmyadmin sont cochés
Le nom de la page est bien avisclient10.php
J'aimerais bien savoir pourquoi ca ne poste pas


le php
PHP:
if  (!empty($_POST['envoi'])) {
        $hote = '127.0.0.1';
        $base = 'clownrobsql';
        $user = 'root';
        $pass = '';
        $link = mysqli_connect($hote, $user, $pass, $base);
        mysqli_set_charset($link, "utf8");
        if (!$link) { die('Erreur de connexion : ' . mysqli_connect_errno());
}
                                                      

    $pseudo = strip_tags(mysqli_real_escape_string($link, $_POST['pseudo']));
    $message = strip_tags(mysqli_real_escape_string($link, $_POST['message']));
    $date = date('Y-m-d') ."\n";
    $interdit ="href=(.*)|href|http(.*)|www(.*)|\bcon\b|\bconnard\b|\bsalope\b|\bmerde\b|\bchier\b|\babrutit\b|\benfoiré\b|\bputain\b|\bempafé\b|\bcouille\b|\bbite\b|\bpute\b|\benculé\b|\bprêt\b|\bargent\b|\bcialis\b|\bviagra\b|\bporn\b|\bpharmacy\b|\bbuy\b|\bpenis\b|\bporno\b|\bsuck\b|\bdick\b";


    if((!empty($_POST['pseudo']))  && (!empty($_POST['message'])) && ($_POST['surname']=="") && !preg_match('#'.$interdit.'#i', $_POST["message"]) && !preg_match('#'.$interdit.'#i', $_POST["pseudo"]))
    { 
        mysqli_query($link, "INSERT INTO livre_or VALUES('', '" . $pseudo . "','" . $date . "', '" . $message . "')");
        echo '<div id="loaderavis"></div><div id="mauvaisavis"><h2>Votre message a été posté</h2><p>Pour voir votre message</p><a href="avisclient10.php#avis">Cliquez ici</a><br><br></div>';

    }

    else if ($_POST['surname']!="") { echo '<div id="loaderavis"></div><div id="mauvaisavis"><h2>Les robots sont interdits !</h2><p><button class="fermeravis">Recommencer</button></p></div>';}

    else if ( preg_match('#'.$interdit.'#i', $_POST["message"]) || preg_match('#'.$interdit.'#i', $_POST["pseudo"])) {echo '<div id="loaderavis"></div><div id="mauvaisavis"><h2>Votre message n\'a pas été posté</h2><p>Vous avez posté un lien</p><p>Ou bien</p><p>Votre message ou pseudo contient une injure</p><p><button class="fermeravis">Recommencer</button></p></div>';}

    else {
        echo '<div id="loaderavis"></div><div id="mauvaisavis"><h2>Votre message n\'a pas été posté</h2><p>Un champ du formulaire n\'a pas été rempli</p><p><button class="fermeravis">Recommencer</button></p></div>';

    }
    mysqli_close($link);

.
le code html du formulaire
HTML:
<form action="avisclient10.php" method="post">
    <p><label for="pseudo">Prénom/Nom ou pseudo :</label><br>
        <input type="text"  id="pseudo" name="pseudo"></p>

    <p class="Surname"><label for="surname">honeypot</label><br>
        <input type="text"  id="surname" name="surname"></p>

    <p><label for="message">Votre avis :</label><br>
        <textarea name="message" id="message" rows="5" cols="35"></textarea></p>

    <p><input type="submit" value="Envoyer" class="bouton" name="envoi"></p>
</form>

Merci d'avance pour celui qui me donne un début de soluce ou au moins qui me dise comment savoir ce qui cloche.
 
Dernière édition:
WRInaute discret
Bonjour sur un autre forum après le manip indiquée voici l'erreur
Incorrect integer value: '' for column 'id' at row 1
pas d'erreur de connexion à la BDD

c'est la colonne id
clé primaire / Type : int(6) / interclassement : / Attribut : / Null : non / Valeur par defaut : aucune / commentaire : / Extra : AUTO_INCREMENT/

et voici la structure de la table
structurebdd.jpg
de plus c'est la même structure que sur mon hebergement et la ca fonctionne

version sql distante 5.5.60-0+deb7u1-log (qui marche sur OVH)

version SQL locale 5.7.14 - MySQL Community Server (GPL) erreur en local
 
WRInaute accro
C'est parce que tu spécifies l'id dans ton INSERT alors que c'est un auto increment.
PHP:
mysqli_query($link, "INSERT INTO livre_or SET pseudo = '$pseudo', date = '$date', message = '$message'");
 
Discussions similaires
Haut