Je suis bloqué, serait-il possible de m' aider ?

Eléphanteau du PHP | 10 Messages

11 sept. 2023, 14:27

Bonjour je suis en train de coder du PHP mais je suis coincé. Serait-il possible de m' aider à résoudre mon problème ?

Le problème provient de :
mysqli_real_escape_string








<h1>Inscription / registration.</h1>

<?php

if(isset($_POST['submit']))
{

$sexe = mysqli_real_escape_string(htmlentities($_POST['sexe']));
$situation = mysqli_real_escape_string(htmlentities($_POST['situation']));
$pseudo = mysqli_real_escape_string(htmlentities($_POST['pseudo']));
$password = mysqli_real_escape_string(htmlentities($_POST['password']));
$repeatpassword = mysqli_real_escape_string(htmlentities($_POST['repeatpassword']));
$email = mysqli_real_escape_string(htmlentities($_POST['email']));
$apropos = mysqli_real_escape_string(htmlentities($_POST['apropos']));


if(empty($pseudo))

{

$errors[] = "Pseudo, identity.";

}

if(empty($password))

{

$errors[] = "Mot-de-passe, password.";

}

if($password != $repeatpassword)


{

$errors[] = "Vos mots-de-passe doivent être identiques, your passwords must be the same.";

}

if(!filter_var($email,FILTER_VALIDATE_EMAIL))
{

$errors[]= "E-mail pas correcte, email not correct.";

}

if(empty($apropos))

{

$errors[] = "Veuillez vous décrire, describe yourself.";

}

if(!empty($errors))

{

foreach($errors as $error)

{

echo "<div class='error'>".$error."</div>";

}

}



}

?>





<form method='POST' action=''>

<label for='sexe'>Sexe / male, female : </label>
<select name="sexe">
<option value="Homme">Homme, male.</option>
<option value="Femme">Femme, female.</option>

</select><br /><br />

<label for='situation'>Situation / situation : </label>
<select name="situation">
<option value="Célibataire">Célibataire, alone.</option>
<option value="En couple">En couple, with somebody.</option>
<option value="Divorcé(e)">Divorcé(e), divorced.</option>
<option value="Veuf(ve)">Veuf(ve), widower / widow. </option>

</select><br /><br />

<label for="pseudo">Pseudo / identity : </label>
<input type="text" name="pseudo"><br />

<label for="password">Mot-de-passe / password : </label>
<input type="password" name="password"><br />

<label for="repeatpassword">Mot-de-passe / password : </label>
<input type="password" name="repeatpassword"><br />

<label for="email">Votre E-mail / your email : </label>
<input type="text" name="email"><br />

<label for="apropos">Vous / you : </label>
<textarea rows="6" cols="30" name="apropos"></textarea><br /><br />

<input type="submit" value="S' inscrire" name="submit">



</form>

<a href='index.php?page=login'>Retournez à la page de connexion / back to the connection page.</a>

Eléphanteau du PHP | 10 Messages

11 sept. 2023, 14:29

Merci de votre attention.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9626 Messages

11 sept. 2023, 14:57

Bonjour,
Quel est le problème ?
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 10 Messages

12 sept. 2023, 10:41

Le problème est la nouvelle syntaxe de mysql qui est devenu mysqli et qui a tout changé, si quelqu' un pouvait m'aider ...

Eléphanteau du PHP | 10 Messages

12 sept. 2023, 10:43

Tout a évolué. Nouvelle logique etc. ...

mysqli_real_escape_string change tout, mes connaissances remontent à 2012-2013.

Eléphanteau du PHP | 10 Messages

12 sept. 2023, 10:44

Merci de votre attention.

ynx
Mammouth du PHP | 578 Messages

12 sept. 2023, 15:06

Bonjour,

Il faut donc apprendre à utiliser l'API Mysqli (ou PDO) à la place de Mysql.
Tu peux trouver pleins de tuto à ce sujet, par exemple : tutoriels/passer-mysql-mysqli-pdo-t276282.html

Avatar du membre
Mammouth du PHP | 1442 Messages

12 sept. 2023, 22:12

En procédural te faut ajouter l'identifiant de connexion obtenu avec mysqli_connect()
mysqli_real_escape_string($mysqli, $chaine_a_echapper)
:arrow: https://www.php.net/manual/fr/mysqli.re ... string.php

Eléphanteau du PHP | 10 Messages

13 sept. 2023, 02:53

Bonsoir,

Je vous remercie mais je ne comprends toujours pas. C' était beaucoup plus simple avant. Le PDO vers la DB dans un autre fichier n' est pas encore créé et l' ajout d' un "i" à mysql ne prend pas en compte les données insérées dans mon formulaire, notamment n' est pas pris en compte des données ajoutées dans le formulaire. #-o

Eléphanteau du PHP | 10 Messages

13 sept. 2023, 05:14

Je vous remercie pour votre aide et votre attention.

Eléphanteau du PHP | 10 Messages

13 sept. 2023, 05:28

$connect = new PDO('mysql:host=zanzibar.mysql.db;dbname=zanzibar','zanzibar','mpzanzibar', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));

Voici le PDO que je placerai dans un autre fichier mais j' ai d' autres fichiers à m' occuper.

Merci de votre attention et de votre aide.

Avatar du membre
Mammouth du PHP | 1442 Messages

13 sept. 2023, 08:40

Ce tuto pourra t'aider :

https://openclassrooms.com/fr/courses/9 ... p-avec-pdo

Si tu as des questions, pose les ici sur le forum en nous mettant en valeur ton code avec les balises adéquates ;)

Eléphanteau du PHP | 10 Messages

13 sept. 2023, 16:47

Merci beaucoup. Mais je suis chez OVH. C' est différent. Il n' y a pas de couple ID / mot de passe. Merci tout-de-même pour la réponse.

Est-ce que dans le fichier où il y a les mysqli, tout fonctionnera quand j' aurai codé la liaison avec PDO ?

Merci pour votre attention et votre aide.

:wink:

Eléphanteau du PHP | 10 Messages

23 oct. 2023, 16:06

Bonjour à tous / toutes, me contacter en PM. Je cherche quelqu' un du 51 (qui habite non-loin de REIMS pour m' assister et m' expliquer les évolutions de PHP en Mysqli et autres évolutions, et finir de coder mon site.