Probleme de connexion à ma base de données

Petit nouveau ! | 1 Messages

21 juil. 2021, 10:54

Bonjour à tous,

J'ai fais un formulaire que je voudrais connecter à ma base de données créée en ligne sur mon serveur mais en suivant les tutos en ligne je n'arrive pas à me connecter et ma page donne une erreur 500


Voila la tête de ma page form.php :
<?php
include("fonctions.php");
?>




<!doctype html>
<html lang="fr">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

<!-- Bootstrap CSS -->
<link rel="stylesheet" href="" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<link href = "registration.css" type = "text/css" rel = "stylesheet" />
<title>Administration Presse Festival OFF Avignon</title>
</head>
<body>
<nav>
<a href="#"><img src="https://www.appli.ovh/off3/img/logo_blanc.svg" /></a>
</nav>

<h2>Ajouter un lien sur la page Presse</h2>
<form name="inscription" method="post" action="form.php">
<div class = "container">
<div class = "form_group">
<label>Titre</label>
<input type = "text" name = "Titre" value = "" required placeholder="ex : titre du lien"/>
</div>
<div class = "form_group">
<label>Date</label>
<input type = "date" name = "Date" value = "" required />
</div>
<div class = "form_group">
<label>Catégorie de lien</label>
<select name = "Catégorie" >
<option>Radio</option>
<option>Tv</option>
<option>Presse</option>
</select>
</div>
<div class = "form_group">
<label>Description</label>
<textarea name = "Description" value = "" required>
</textarea>
</div>

<div class = "form_group">
<label>Lien</label>
<input type = "text" name = "Lien" value = "" required placeholder=""/>
</div>
<div class = "form_group">
<input type = "submit" name = "valider" value = "Envoyer" required/>
</div>
</div>
</form>





<?php
if (isset ($_POST['valider'])){
//On récupère les valeurs entrées par l'utilisateur :
$titre=$_POST['Titre'];
$description=$_POST['Description'];
$categorie=$_POST['Categorie'];
$lien=$_POST['Lien'];

//On créée une variable date du jour grâce à la fonction date() de PHP
$today = date("d.m.y");

//On se connecte
connectMaBase();

//On prépare la commande sql d'insertion
$sql = 'INSERT INTO insertion VALUES("","'.$titre.'","'.$description.'","'.$categorie.'","'.$lien.'","'.$today.'")';

/*on lance la commande (mysql_query) et au cas où,
on rédige un petit message d'erreur si la requête ne passe pas (or die)
(Message qui intègrera les causes d'erreur sql)*/

mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());

// on ferme la connexion
mysql_close();
?>

</body>
</html>

Et la page fonctions.php :
<?php
function connectMaBase(){
alert('ok');
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('avignoninternet_pressOFF', $base) ;
}
?>

Je pense qu'il me manque un paramètre ou bien un fichier htaccess nécéssaire ?
Est ce qu'il faut un mot de passe pour y acceder ?

Merci pour vos réponses !

ynx
Mammouth du PHP | 586 Messages

21 juil. 2021, 11:42

Bonjour,

L'instruction "alert('ok');" n'existe pas en PHP, il s'agit d'une fonction javascript donc le fichier fonctions.php ne peut pas fonctionner correctement. Il faut supprimer cette instruction.

L'API Mysql (toutes les fonctions PHP commençant par mysql_) est obsolète et a été supprimée depuis PHP 7. Idéalement il ne faut plus utiliser ces fonctions, à remplacer par l'utilisation de l'API Mysqli ou PDO : tutoriels/passer-mysql-mysqli-pdo-t276282.html

Il faudra également vérifier les paramètres de connexion à la base de données sur le serveur (host, user, mdp).

Pour voir exactement quel est ton problème, il faudrait le message d'erreur complet de l'erreur 500. Tu devrais pouvoir trouver ce message d'erreur complet dans le journal d'erreur de ton serveur et/ou en affichant les erreurs PHP sur le navigateur. Plus d'info à ce sujet ici : tutoriels/page-blanche-script-php-comme ... 73178.html

Bonne journée,

Avatar du membre
Petit nouveau ! | 6 Messages

22 juil. 2021, 11:57

essaye de rajouter ce bout de code en début de page :
<?php
error_reporting(E_ALL) ;
ini_set("display_errors", 1) ;