PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 09-04-2016 15:38:36

ytzmi
Membre
Inscription : 09-04-2016
Messages : 10

poster un message via phpmyadmin

bonjour

j'espère être au bon endroit...

étant débutante, je voulais faire un truc très simple pour déposer un message en prenant pour base le livre d'or.

mon but est que sur cette page, je puisse faire une annonce météo.

j'ai créé ma table "longecote" avec id et message

<?php
include_once ('fonctions/injection.php');
  //include ('fonctions/injection.php');

 
  if ((isset($_POST['Message']))) {
    // si la  variable n'est pas vide, on fera notre insertion dans la base
    if ((!empty($_POST['Message']))) {
        // on se connecte à notre base
        $base = mysql_connect ('localhost', 'base', 'mdp');
        mysql_select_db ('longecote', $base);

        // on prepare notre requête d'insertion des données
        extract($_POST);
        $sql = "INSERT INTO longecote (message) VALUES ('$message')";
       
        // on lance la requête
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

        // on ferme la connexion à la base de données
        mysql_close();

        // on redirige le visiteur vers la page
        header('Location: acc_longecote.php');

        // on termine le script courant
        exit();
}}
// on entre dans le cas où le formulaire s'affichera).

?>

<html>

<head>

<title>Annonce Météo</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />


</head>

<body>

    <font face="Comic Sans MS" size="4" >

  <div align="center">

  <!-- On commence le formulaire -->

<form action="acc_longecote.php" method="post">
<div>
<font face="Comic Sans MS" size="4" color="#006699"><b>
<b>Bonjour.
<br />Selon la météo, taper l'annonce pour le longe-côte / marche dans l'eau du mardi.</b>
<br /><br />
<br /><br />
<div>


<fieldset><legend>Saisir l'annonce</legend>
<br />

    <textarea rows="7" name="message" cols="66"><?php if (isset($_POST['Message'])) echo htmlentities(trim($_POST['Message'])); ?></textarea>
 <br /><br />
 
</fieldset>

<br /><br /><input type="submit" name="go" value="L'ajouter au site" /><br />


<br /><br />
</font>
</div>
</form>
</body>

</html>

donc, là, normalement si tout était correct, dans la table "longecote" sur phpmyadmin devrait s'inscrire l'annonce.

Ben non !
rien ne s'inscrit.
roll

Ensuite, sur la page longecote où devrait se retrouver l'annonce voici :

<?php
  // on se connecte à notre base
 
include ('protected/login.inc.php');

     
  //--- Récupérer le dernier id dans une table ---//
     
$req1="select max(id) from longecote";
$res1=mysql_query($req1);
$idmax1=mysql_result($res1,0,"max(id)");
echo $idmax1;

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

mysql_close();
?>

comme ce n'est pas un livre d'or, je ne veux que le dernier message posté.
mais de toutes les façons, rien ne se passe car ma table reste vide...

selon les modifications que je fais sur les pages, j'ai soit
La connexion a échoué, vérifiez que le serveur MySQL fonctionne.
soit
la table est vide.

Vu que j'ai pris les différents codes dans divers tuto et j'ai du faire pas mal d'erreurs qu'étant débutante je ne vois pas, évidemment.

pourriez-vous m'aider, svp ?
merci de votre patience

Hors ligne

#2 09-04-2016 19:42:12

tof73
Membre
Inscription : 21-12-2014
Messages : 156
Site Web

Re : poster un message via phpmyadmin

mysql_select_db ('longecote', $base);
c'est juste si la base de donnée, et pas seulement une table, s'appelle longecote.

Hors ligne

#3 10-04-2016 18:02:49

ytzmi
Membre
Inscription : 09-04-2016
Messages : 10

Re : poster un message via phpmyadmin

je suis vraiment nulle car je ne comprends pas ta réponse...

il est vrai qu'il faudrait que je comprenne ce que je fais aussi.

donc ma table s'appelle "longecote" c'est là que devrait s'enregistrer les annonces : ma table MySQL
et la base, ben... c'est là où on va les chercher, "localhost, login, mdp"...

C'est ça ?

tof73 a écrit :

c'est juste si la base de donnée, et pas seulement une table, s'appelle longecote.

ma base de donnée est ma table donc, c'est longecote.

je m'y perd... désolée sad

Hors ligne

#4 10-04-2016 21:00:15

tof73
Membre
Inscription : 21-12-2014
Messages : 156
Site Web

Re : poster un message via phpmyadmin

phpmyadmin
dans cet écran, la base de donnée s'appelle base2 et elle contient en autre la table persons.

Hors ligne

#5 11-04-2016 17:54:24

ytzmi
Membre
Inscription : 09-04-2016
Messages : 10

Re : poster un message via phpmyadmin

bonjour

voici le mien

mysql

ma base s'appelle clubdynamic_beausset

et ma table qui me pose problème est "longecote"

les autres tables ce n'est pas moi qui les ai faite.
nous sommes 2 à tenir le site et pourquoi ne pas lui demander ? parce que je veux me débrouiller par moi-même... wink

Hors ligne

#6 12-04-2016 09:05:17

Jc2
Membre
Lieu : Zillisheim - Alsace
Inscription : 23-03-2016
Messages : 12
Site Web

Re : poster un message via phpmyadmin

Bonjour

Attention lorsque vous écrivez


extract($_POST);
 

Ceci peut conduire à des résultats peu sûrs et/ou non attendus.
Préférez


$message=$_POST['Message'];
// ensuite echappez le contenu pour accepter les apostrophes dans la chaîne
$message=addslashes($message);
// ensuite évitez les injections SQL idéalement avec preg_match() mais pour le moins en faisant ainsi
$message=str_replace('=','',$message); $message=str_replace(' OR ','',$message);$message=str_replace('<','inférieur à',$message);$message=str_replace('>','supérieur à',$message);
 

Bonne journée
++

Hors ligne

#7 20-04-2016 18:37:19

ytzmi
Membre
Inscription : 09-04-2016
Messages : 10

Re : poster un message via phpmyadmin

bonjour, c'est re-moi...

bon, déjà, j'ai réussi à solutionner un problème en travaillant avec phpmyadmin, en insérant directement des messages et par bonheur, le dernier s'affiche sur la page, tel que je le voulais.

mais l'autre et le plus important reste insoluble pour moi
et ce n'est pas faute de chercher à comprendre.

je vous remets le code pour insérer une annonce en me fiant un tuto pour débutant...

mais il est certain qu'il y a une erreur, mais j'en peux plus de ne rien voir...

<?php
 include_once ('fonctions/injection.php');
  //include ('fonctions/injection.php');

if (isset($_POST['go']) && $_POST['go']=='L\'ajouter au site') {
           
  if ((isset($_POST['Message']))) {
    // si la  variable n'est pas vide, on fera notre insertion dans la base
    if ((!empty($_POST['Message']))) {
        // on se connecte à notre base
        mysql_connect ("localhost", "login-site", "mdp");
        mysql_select_db ("longecote");
       
     
        // on prepare notre requête d'insertion des données
        $Message = mysql_real_escape_string(htmlspecialchars($_POST['Message']));
       
        $sql = mysql_query("INSERT INTO longecote VALUES ('','" . $Message . "')");
               
          // on lance la requête et on impose un message d'erreur
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

      // on ferme la connexion à la base de données
        mysql_close();

        // on redirige le visiteur vers la page
        header('Location: longecote.php');

        // on termine le script courant
   
        exit();
       
}}}
// on entre dans le cas où le formulaire s'affichera).

?>

<html>

<head>

<title>Annonce Météo</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />


</head>

<body >

    <font face="Comic Sans MS" size="4" >

  <div align="center">

  <!-- On commence le formulaire -->

<form action="longecote.php" method="post">
<div>
<font face="Comic Sans MS" size="4" color="#006699"><b>
<b>Bonjour.
<br />Selon la météo, taper l'annonce pour le longe-côte / marche dans l'eau du mardi.</b>
<br /><br />
<br /><br />
<div>


<fieldset><legend>Saisir l'annonce</legend>
<br />

    <textarea rows="7" name="Message" cols="66"><?php if (isset($_POST['Message'])) echo htmlspecialchars($_POST['Message']); ?></textarea>
 <br /><br />
 
</fieldset>

<br /><br /><input type="submit" name="go" value="L'ajouter au site" /><br />


<br /><br />
</font>
</div>
</form>
</body>

</html>

Dites-moi, svp, où ça coince...

merci pour votre aide et patience

Hors ligne

Pied de page des forums