Alter table et php

bonjour,
j'ai un probleme concernant la syntaxe du requéte alter table à l'interieure du php.
mon but est de modier des noms de columns à partir d'un formulaire,je l'ai essayé par ce code mais rien de nouveau.voila mon code:
<?php
session_start();
if (!isset($_SESSION['login'])) {
header ('Location: index1.php');
exit();
}
?>
<html>
<head>
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen"/>
<script>
function remplir()
{
var nb = document.getElementById(1).value ;
var i;
for (i=2;i<12;i++)
{
document.getElementById(i).disabled =true;
}

for(i=1; i<=(nb*2)+1;i++)
{
document.getElementById(i).disabled =false;
}

nb = document.getElementById(1).value ;
}
</script>
</head>
<body>
<style>
body
{
background-image:url('images/1.jpg');

}
</style>

<div class="tout" align="center">
<form method="Post">
<table border="2" align="center" class="item">
<tr>
<td colspan="2">Seuil:</td>
<td><input type="text" id="0"/></td>
<tr>
<td colspan="2">nbs de ds:</td>
<td><input type="text" id="1" oninput="remplir();"/></td>
<tr><td>note1 :</td>
<td><input type="text" disabled="true" name="n1" value="nom" id="2"/></td><td><input type="text" disabled="true" name="p1" value="%" id="3"/></td>
</tr>
<tr><td>note2 :</td>
<td><input type="text" disabled="true" id="4" name="n2" value="nom"/></td><td><input type="text" name="p2" disabled="true" id="5" value="%"/></td>
</tr>
<tr><td>note3 :</td>
<td><input type="text" disabled="true" name="n3" id="6" value="nom"/></td><td><input type="text" id="7" disabled="true" name="p3" value="%"/></td>
</tr>
<tr><td>note4 :</td>
<td><input type="text" disabled="true" id="8" name="n4" value="nom"/></td><td><input type="text" id="9" name="p4" disabled="true" value="%"/></td>
</tr>
<tr><td>note5 :</td>
<td><input type="text" disabled="true" id="10" name="n5" value="nom"/></td><td><input type="text" disabled="true" id="11" name="p5" value="%"/></td>
</tr>
</table>
<input type='submit' name='submit1' value='Envoyer' />
<input type='RESET' name='submit' value='reset' color="violet"/>

</form>
</div>
<?php
$c=$_GET['m'];
$n1=$_POST['n1'];
$p1=$_POST['p1'];
$n2=$_POST['n2'];
$p2=$_POST['p1'];
$n3=$_POST['n3'];
$p3=$_POST['p1'];
$n4=$_POST['n4'];
$p4=$_POST['p1'];
$n5=$_POST['n5'];
$p5=$_POST['p1'];
if (isset($_POST['submit1'])){
switch($c){
case 'algo':
$table='algorithme';
$s= mysql_query(" ALTER TABLE $table CHANGE note1 $n1 DOUBLE NOT NULL ");
$sq= mysql_query(" ALTER TABLE $table CHANGE p1 $p1 DOUBLE NOT NULL ");
$sql= mysql_query(" ALTER TABLE $table CHANGE note2 $n2 DOUBLE NOT NULL ");
$sq1= mysql_query(" ALTER TABLE $table CHANGE p2 $p2 DOUBLE NOT NULL ");
$sql2= mysql_query(" ALTER TABLE $table CHANGE note3 $n3 DOUBLE NOT NULL ");
$sq3= mysql_query(" ALTER TABLE $table CHANGE p4 $p4 DOUBLE NOT NULL ");
$sql4= mysql_query(" ALTER TABLE $table CHANGE note5 $n5 DOUBLE NOT NULL ");
$sq5= mysql_query(" ALTER TABLE $table CHANGE p5 $p5 DOUBLE NOT NULL ");
break;
case 'ana':
mysql_connect("localhost","root","123") or die(mysql_error());
mysql_select_db("sweet")or die('Pas de Base de donn\351');
$table="analyse";
$s= " ALTER TABLE $table CHANGE 'note1' $n1 DOUBLE NOT NULL ";
$sq= mysql_query(" ALTER TABLE $table CHANGE 'p1' $p1 DOUBLE NOT NULL ");
$sql= mysql_query(" ALTER TABLE $table CHANGE 'note2' $n2 DOUBLE NOT NULL ");
$sq1= mysql_query(" ALTER TABLE $table CHANGE 'p2' $p2 DOUBLE NOT NULL ");
$sql2= mysql_query(" ALTER TABLE $table CHANGE 'note3' $n3 DOUBLE NOT NULL ");
$sq3= mysql_query(" ALTER TABLE $table CHANGE 'p4' $p4 DOUBLE NOT NULL ");
$sql4= mysql_query(" ALTER TABLE $table CHANGE 'note5' $n5 DOUBLE NOT NULL ");
$sq5= mysql_query(" ALTER TABLE $table CHANGE 'p5' $p5 DOUBLE NOT NULL ");
echo 'modification reussite';
break;
default:
echo "Desole mais une erreur s'est produite ";
}
}
?>
</body>
</html>
tjrs le msg qui s'affiche est celui de default.qlq m'aider et merci d'avance

3 réponses

  1. Bonjour,

    À mon avis le problème vient de là :
    $c=$_GET['m']; 

    Comment appelles-tu ta page ? Où est défini 'm' ?

    Xavier
    1. Bonjour,
      cette page s'appelle "modules.php" voila l'extrait du code où j'ai mis la variable 'm':

      <input type="submit" id="Button1" href="?m=algo" name="1" value="Algorithmique" style="position:absolute;left:16px;top:19px;width:377px;height:25px;z-index:0;">
      <input type="submit" id="Button2" href="?m=ldp" name="2" value="Language de programmation" style="position:absolute;left:15px;top:54px;width:377px;height:25px;z-index:1;">
      mercii
      1. OK.
        Mais le problème, c'est que quand tu envoies le formulaire, l'URL perd le m=...
        Tu peux le voir dans ta barre d'adresse après avoir cliqué sur le bouton.
        Du coup, $_GET['m'] n'est pas défini.

        Pour corriger, le mieux à mon avis, c'est de mettre, juste après <form> :
        <input type='hidden' name='m' value='<?php echo $_GET['m']; ?>' />

        Puis de remplacer
        $c=$_GET['m'];
        par
        $c=$_POST['m'];


        Comme ça, ta variable m sera passée en paramètre (caché) dans le formulaire, comme les autres variables.

        Xavier
    2. je l'ai ajouté mais meme probleme.
      page des valeurs que je veux les récuperer:

      form method="POST">
      <input type='hidden' name='m' value="<?php echo $_GET['m']; ?>" />
      <h3 style="display:block"><a href="#">Algorithmique & Base de la programmation</a></h3>
      <div>
      <input type="submit" id="Button1" href="?m=algo" name="1" value="Algorithmique" style="position:absolute;left:16px;top:19px;width:377px;height:25px;z-index:0;">
      <input type="submit" id="Button2" href="?m=ldp" name="2" value="Language de programmation" style="position:absolute;left:15px;top:54px;width:377px;height:25px;z-index:1;">
      page où j'exploite la variable 'm':

      $c=$_POST['m'];
      $n1=$_POST['n1'];
      $p1=$_POST['p1'];
      $n2=$_POST['n2'];
      $p2=$_POST['p1'];
      $n3=$_POST['n3'];
      $p3=$_POST['p1'];
      $n4=$_POST['n4'];
      $p4=$_POST['p1'];
      $n5=$_POST['n5'];
      $p5=$_POST['p1'];
      if (isset($_POST['submit1'])){
      switch($c){
      case 'ana':
      mysql_connect("localhost","root","123") or die(mysql_error());
      mysql_select_db("sweet")or die('Pas de Base de donn\351');
      $table="analyse";
      $s= mysql_query(" ALTER TABLE $table CHANGE 'note1' $n1 DOUBLE NOT NULL ");
      $sq= mysql_query(" ALTER TABLE $table CHANGE 'p1' $p1 DOUBLE NOT NULL ");
      $sql= mysql_query(" ALTER TABLE $table CHANGE 'note2' $n2 DOUBLE NOT NULL ");
      $sq1= mysql_query(" ALTER TABLE $table CHANGE 'p2' $p2 DOUBLE NOT NULL ");
      $sql2= mysql_query(" ALTER TABLE $table CHANGE 'note3' $n3 DOUBLE NOT NULL ");
      $sq3= mysql_query(" ALTER TABLE $table CHANGE 'p3' $p3 DOUBLE NOT NULL ");
      $sql4= mysql_query(" ALTER TABLE $table CHANGE 'note4' $n4 DOUBLE NOT NULL ");
      $sq5= mysql_query(" ALTER TABLE $table CHANGE 'p4' $p4 DOUBLE NOT NULL ");
      $sql4= mysql_query(" ALTER TABLE $table CHANGE 'note5' $n5 DOUBLE NOT NULL ");
      $sq5= mysql_query(" ALTER TABLE $table CHANGE 'p5' $p5 DOUBLE NOT NULL ");
      echo 'modification reussite';
      break;
      default:
      echo "Desole mais une erreur s'est produite ";
      }
      merci bcp :)
      1. Bonjour,

        J'ai l'impression que tu n'as pas mis le <input hidden> sur la bonne page !
        Tu l'as mis avec tes boutons, alors qu'il faut le mettre avec les valeurs à rentrer n1, p1, etc. que tu mets dans ton premier message.

        Xavier
      2. comme ca:

        <form method="Post">
        <input type='hidden' name='m' value='<?php echo $_GET['m']; ?>'
        <table border="2" align="center" class="item">
        <tr>
        <td colspan="2">Seuil:</td>
        <td><input type="text" id="0"/></td>
        <tr>
        <td colspan="2">nbs de ds:</td>
        <td><input type="text" id="1" oninput="remplir();"/></td>
        <tr><td>note1 :</td>
        <td><input type="text" disabled="true" name="n1" value="nom" id="2"/></td><td><input type="text" disabled="true" name="p1" value="%" id="3"/></td>
        </tr>
        <tr><td>note2 :</td>
        <td><input type="text" disabled="true" id="4" name="n2" value="nom"/></td><td><input type="text" name="p2" disabled="true" id="5" value="%"/></td>
        </tr>
        <tr><td>note3 :</td>
        <td><input type="text" disabled="true" name="n3" id="6" value="nom"/></td><td><input type="text" id="7" disabled="true" name="p3" value="%"/></td>
        </tr>
        <tr><td>note4 :</td>
        <td><input type="text" disabled="true" id="8" name="n4" value="nom"/></td><td><input type="text" id="9" name="p4" disabled="true" value="%"/></td>
        </tr>
        <tr><td>note5 :</td>
        <td><input type="text" disabled="true" id="10" name="n5" value="nom"/></td><td><input type="text" disabled="true" id="11" name="p5" value="%"/></td>
        </tr>
        </table>
        <input type='submit' name='submit1' value='Envoyer' />
        <input type='RESET' name='submit' value='reset' color="violet"/>

        </form>
        </div>
        <?php
        $c=$_POST['m'];
        $n1=$_POST['n1'];
        $p1=$_POST['p1'];
        $n2=$_POST['n2'];
        $p2=$_POST['p2'];
        $n3=$_POST['n3'];
        $p3=$_POST['p3'];
        $n4=$_POST['n4'];
        $p4=$_POST['p4'];
        $n5=$_POST['n5'];
        $p5=$_POST['p5'];
        mysql_connect("localhost","root","123") or die(mysql_error());
        mysql_select_db("sweet")or die('Pas de Base de donn\351');
        if (isset($_post['submit1'])){
        switch($c){
        case '$ana':
        echo $c;
        $table='analyse';
        $sql= mysql_query(" ALTER TABLE $table CHANGE note1 $n1 DOUBLE NOT NULL ");
        $sq= mysql_query(" ALTER TABLE $table CHANGE p1 $p1 DOUBLE NOT NULL ");
        $sql= mysql_query(" ALTER TABLE $table CHANGE note2 $n2 DOUBLE NOT NULL ");
        $sq= mysql_query(" ALTER TABLE $table CHANGE p2 $p2 DOUBLE NOT NULL ");
        $sql= mysql_query(" ALTER TABLE $table CHANGE note3 $n3 DOUBLE NOT NULL ");
        $sq= mysql_query(" ALTER TABLE $table CHANGE p4 $p4 DOUBLE NOT NULL ");
        $sql= mysql_query(" ALTER TABLE $table CHANGE note5 $n5 DOUBLE NOT NULL ");
        $sq= mysql_query(" ALTER TABLE $table CHANGE p5 $p5 DOUBLE NOT NULL ");
        break;
        case '$al':
        echo 'mmmmm';
        break;
        default:
        echo "mard hada";
        }
        }
        ?>
        j'ai essayé ce code mais pad de résultat :( :(
      3. Pourquoi as-tu changé ça ?
        case '$ana':
      4. car 'ana' est la valeur du variable 'm' et moi j'utilise le switch case ,selon la valeur du 'm' je modifie la table.
      5. Donc c'est 'ana', pas '$ana' !