Impossible d'écrire dans ma base !
Résolu
fareohh
Messages postés
65
Statut
Membre
-
fareohh Messages postés 65 Statut Membre -
fareohh Messages postés 65 Statut Membre -
Bonjour,
Depuis un petit moment je me suis mis en tête de refaire de A à Z mon site web osudl.re (upload de fichiers spécifique à osu)
et impossible d'inscrire quoi que ce soit dans la base de donnée !!
Voilà mon code si quelqu'un arrive à savoir ce qui ne vas pas, car toutes mes variables sont ok...
Depuis un petit moment je me suis mis en tête de refaire de A à Z mon site web osudl.re (upload de fichiers spécifique à osu)
et impossible d'inscrire quoi que ce soit dans la base de donnée !!
Voilà mon code si quelqu'un arrive à savoir ce qui ne vas pas, car toutes mes variables sont ok...
<?php
function sqlconnect(){
$bdd = mysqli_connect ('web2.pulseheberg.net', 'wkmfc8_osudl', '123456789', 'wkmfc8_osudl');
}
$ip = $_SERVER['REMOTE_ADDR'];
function random($car) {
$string = "";
$chaine = "1234567890ABCDEFGHIJKLMNOPRSTUVWXYZ";
srand((double)microtime()*1000000);
for($i=0; $i<$car; $i++) {
$string .= $chaine[rand()%strlen($chaine)];
}
return $string;
}
$chaine = random(5);
if(!empty($_FILES)){
$pseudo = $_POST['pseudo'];
$fichier_name = $_FILES['fichier']['name'];
$image_name = $_FILES['img']['name'];
$fichier_type = $_FILES['fichier']['type'];
$fichier_ext = strrchr($fichier_name, ".");
$image_ext = strrchr($image_name, ".");
$image_name = $_FILES['img']['name'];
$fichier_tmp_name = $_FILES['fichier']['tmp_name'];
$image_tmp_name = $_FILES['img']['tmp_name'];
$ext_auth_osu = array('.osz', '.OSZ', '.osr', '.OSR', '.osk', '.OSK');
$ext_auth_img = array('.jpg', '.JPG', '.png', '.PNG', '');
$fichier_local = 'fichiers/'.$fichier_name;
$image_tmp_name = $_FILES['img']['tmp_name'];
$image_local = 'images/'.$image_name;
$dwl = 'Télécharger votre fichier: <a href="http://news.osudl.re/fichers/'.$fichier_name.'">http://news.osudl.re/fichiers/'.$fichier_name.'</a>';
$date = date("h.d.m.y");
if ($ext_auth_osu == ".osz"){
$type = "Beatmap";}
elseif ($ext_auth_osu == "osk"){
$type = "Skin";}
elseif ($ext_auth_osu == "osr"){
$type = "Replay";}
else{
$type = ['Unknown'];}
$infos = 'Nom de la map: '.$fichier_name.'<br /> Nom de l\'image: '.$image_name.'<br /> Pseudo: '.$pseudo.' <br /> ID: '.$chaine.' <br /> IP: '.$ip.' <br /> Type: '.$ext_auth_osu.'<br />';
if((in_array($fichier_ext, $ext_auth_osu)) && in_array($image_ext, $ext_auth_img)){
if((move_uploaded_file($fichier_tmp_name, $fichier_local))){
echo
$infos;
setcookie('pseudo', $_POST['pseudo'], time() + 365*24*3600, null, null, false, true);
move_uploaded_file($image_tmp_name, $image_local);
if($bdd = mysqli_connect('web2.pulseheberg.net', 'wkmfc8_osudl', '123456789', 'wkmfc8_osudl')){
$req_pre = mysqli_prepare($bdd, 'INSERT INTO fichiers (id, name, type, img, pseudo, ip, date) VALUES (?, ?, ?, ?, ?, ?, ?)');
mysqli_stmt_bind_param($req_pre, $chaine, $name, $type, $img, $pseudo, $ip, $date);
mysqli_stmt_execute($req_pre);
echo 'ok';
}
else {
echo 'Erreur';
}
}
else {
echo 'Vous n\'avez pas sélectionné de fichiers.';
}
}
else {
echo 'Votre fichier doit provenir de Osu! !';
}
}
?>
A voir également:
- Impossible d'écrire dans ma base !
- Base de registre - Guide
- Ecrire en gras sur whatsapp - Guide
- Comment écrire # sur pc - Guide
- Écrire en majuscule - Guide
- Ecrire en miroir - Guide
2 réponses
Bonjour,
Tu as placé le code de connexion à la bdd dans une fonction.... mais tu n'y fais pas appel...
Je pense qu'il serait préférable de ne pas le mettre dans une fonction et de remplacer :
par :
Tu as placé le code de connexion à la bdd dans une fonction.... mais tu n'y fais pas appel...
Je pense qu'il serait préférable de ne pas le mettre dans une fonction et de remplacer :
function sqlconnect(){
$bdd = mysqli_connect ('web2.pulseheberg.net', 'wkmfc8_osudl', '123456789', 'wkmfc8_osudl');
}
par :
$bdd = mysqli_connect ('web2.pulseheberg.net', 'wkmfc8_osudl', '123456789', 'wkmfc8_osudl');
if (mysqli_connect_errno()){
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
Bonjour
Si j'en crois la doc, il manque un paramètre à ton appel à mysqli_stmt_bind_param.
https://www.php.net/manual/fr/mysqli-stmt.bind-param.php
Le deuxième paramètre est une chaîne qui indique les types des variables à utiliser pour la requête préparée, alors que toi tu mets directement les variables.
Si j'en crois la doc, il manque un paramètre à ton appel à mysqli_stmt_bind_param.
https://www.php.net/manual/fr/mysqli-stmt.bind-param.php
Le deuxième paramètre est une chaîne qui indique les types des variables à utiliser pour la requête préparée, alors que toi tu mets directement les variables.
if((in_array($fichier_ext, $ext_auth_osu)) && in_array($image_ext, $ext_auth_img)){
if((move_uploaded_file($fichier_tmp_name, $fichier_local))){
echo
$infos;
setcookie('pseudo', $_POST['pseudo'], time() + 365*24*3600, null, null, false, true);
move_uploaded_file($image_tmp_name, $image_local);
$bdd = mysqli_connect('web2.pulseheberg.net', 'wkmfc8_osudl', '123456789', 'wkmfc8_osudl');
}
$req_pre = mysqli_prepare($bdd, 'INSERT INTO fichiers (id, name, type, img, pseudo, ip, date) VALUES (?, ?, ?, ?, ?, ?, ?)');
mysqli_stmt_bind_param($req_pre, $chaine, $name, $type, $img, $pseudo, $ip, $date);
mysqli_stmt_execute($req_pre);
if (mysqli_connect_errno()){
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
else {
echo 'Vous n\'avez pas sélectionné de fichiers.';
}
}
else {
echo 'Votre fichier doit provenir de Osu! !';
}
}
bien sur quand j'essaye d'envoyer mes fichiers, je n'ai aucune erreurs.. Ni celle de la connexion
https://image.noelshack.com/minis/2018/18/3/1525256489-1651145.png
if (mysqli_connect_errno()){ echo "Failed to connect to MySQL: " . mysqli_connect_error(); }Est à utiliser pour les ERREURS DE CONNEXION... et donc à placer SOUS la ligne de code qui fait la connexion à la bdd....
Pour voir les erreurs de REQUETES, il faut utiliser :
printf("Erreur : %s.\n", mysqli_stmt_error($req_pre));Erreur : No data supplied for parameters in prepared statement.
Je vous avouerais que je ne sais pas comment résoudre cette erreur...
Que valent t'elles ?
Car visiblement le message d'erreur que ces variables ne contiennent pas de valeurs....