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.
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
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 :
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....