Deux problèmes se produisent lorsque nous téléchargeons des fichiers sur 000Webhost. Nous avons utilisé 000Webhost pour héberger une base de données pour notre projet d'application de conseil. Le code du projet peut être trouvé sur Github. Mon partenaire a téléchargé deux fichiers php sur 000Webhost mais il a eu deux erreurs, nous ne savons pas comment le résoudre. Voici nos codes PHP.Deux problèmes dans mes codes php, un dans Login.php, un dans le code Register.php
codes Github pour Android: Studio de https://github.com/swiftandquick/AdvisingApp
register.php
<?php
$con = mysqli_connect("localhost", "id951876_advisingappadmin", "abc12345", "id951876_advisingapp");
if (!$con) {
die('connect error: '.mysqli_connect_error());
}
$username= mysql_real_escape_string($con,$_POST['username']);
$password= $_POST['password'];
$confirm_password= $_POST['password'];
$name= (isset($_POST['name'])) ? $_POST['name'] : '';
$email= (isset($_POST['email'])) ? $_POST['email'] : '';
$major= (isset($_POST['major'])) ? $_POST['major'] : '';
$starting_year = (isset($_POST['starting_year'])) ? $_POST['starting_year'] : '';
$status= (isset($_POST['status'])) ? $_POST['status'] : '';
$statement = mysqli_prepare($con, "INSERT INTO user (username, password, confirm_password, name, email, major, starting_year, status) VALUES (?, ?, ?, ?, ?, ?, ?, ?)");
mysqli_stmt_bind_param($statement, "ssssssis", $username, $password, $confirm_password, $name, $email, $major, $starting_year, $status);
mysqli_stmt_execute($statement);
$response = array();
$response["success"] = true;
echo json_encode($response);
?>
erreurs dans register.php:
Uncaught Error: Call to undefined function mysql_real_escape_string() in /storage/h4/876/951876/public_html/Login.php:4 Stack trace: #0 {main} thrown in /storage/h4/876/951876/public_html/Login.php on line 4
login.php
<?php
$con = mysqli_connect("localhost", "id951876_advisingappadmin", "abc12345", "id951876_advisingapp");
$username= mysql_real_escape_string($con,$_POST['username']);
$password= $_POST['password'];
$statement = mysqli_prepare($con, "SELECT * FROM user WHERE username = ? AND password = ?");
if(!statement)
echo "error:";
else
{
mysqli_stmt_bind_param($statement, "ss", $username, $password);
mysqli_stmt_execute($statement);
mysqli_stmt_store_result($statement);
mysqli_stmt_bind_result($statement, $user_id, $username, $password, $confirm_password, $name, $email, $major, $starting_year, $status);
$response = array();
$response["success"] = false;
while(mysqli_stmt_fetch($statement)){
$response["success"] = true;
$response["username"] = $username;
$response["password"] = $password;
$response["confirm_password"] = $confirm_password;
$response["name"] = $name;
$response["email"] = $email;
$response["major"] = $major;
$response["starting_year"] = $starting_year;
$response["status"] = $status;
}
}
echo json_encode($response);
?>
erreurs de login.php:
Uncaught Error: Call to undefined function mysql_real_escape_string() in /storage/h4/876/951876/public_html/Register.php:6 Stack trace: #0 {main} thrown in /st
TL; DR:
Lire les codes ci-dessus.
erreur login.php à la ligne 4.
erreur register.php à la ligne 6.
Quelqu'un veut aider?
changement cette '' mysql_real_escape_string' à Mysqli mysqli_real_escape_string' vous ne pouvez pas mélanger '' mysql' et mysqli' – Mario
les deux lignes ont les mêmes choses en commun que tous ces messieurs ont souligné. changez la fonction et cela fonctionnera. – shazyriver
Ne pas échapper lors du paramétrage. Hash les mots de passe de votre utilisateur – chris85