Problemet är att du använder bind_param funktion på MySQL och inte $stmt variabel.
Problemet ligger på den här raden:
$stmt = $mysqli -> prepare("INSERT INTO `user`(`id_user`, `login`,`password`,`email`,`added`,`ip`) VALUES('', ? , ? , ? , now(), ?)");
$stmt = $mysqli -> bind_param("ssss", $login, $password, $email, $ip);
Istället för att skriva:
$stmt = $mysqli->bind_param("ssss", $login, $password, $email, $ip);
Du bör skriva:
$stmt = $stmt->bind_param("ssss", $login, $password, $email, $ip);
Eftersom bind_param Metoden är endast tillgänglig på mysqli_stmt klass. och inte mysqli .
Kolla in dokumentationen här .