Besoin d'aide erreur PHP qui s'affiche !!

redman -  
 giheller -
Bonjour,

J'ai une erreur sur mon script php qui s'affiche:

Parse error: syntax error, unexpected T_VARIABLE in /homepages/3/d238180305/htdocs/activation.php on line 12

elle provient de la ligne 12 :
$sql = "select count(*) as NB from inscription_scripts_form where prenom ='"$_GET['prenom']"' and cle='"$_GET['cle']"'";


je ne vois pas ou se situe l'erreur dans cette ligne de code.

Merci bien pour l'aide
Configuration: Windows XP
Firefox 3.0.3

18 réponses

  1. giheller
     
    alors on trace

    en début de pgm :

    echo "<pre>";print_r($_GET);echo "</pre>";
    puis
    $prenom = $_GET[log];
    $cle = $_GET['cle'];
    echo $prenom;
    echo "<br>".$cle;

    $query = "select count(*) as NB from inscription_scripts_form where prenom ='".$prenom."' and cle='".$cle."'";
    echo "<br>".$query;
    $r = mysql_query($query);
    if !$r) echo mysql_error();

    1
  2. giheller
     
    oui si il y a plusieurs instuctions dnas le groupe
    exemmpel

    if ($aa=='a') echo 'OK;
    else echo "pasOk';

    -------

    if ($b=='b') {
    instuct1;
    instruct2;
    }
    else {
    inst3;
    inst4;
    }

    else pas obligatoire

    exe :
    if ($c=='c') echo "OK';

    ---- et toutes les autres combinaisons

    1
  3. redman
     
    Hello

    voici le verdict :

    Fatal error: Call to undefined function: r() in /homepages/3/d238180305/htdocs/activation.php on line 13

    et voici mon script:

    <?php
    
    // Récupération des variables nécessaires à l'activation
    $prenom = $_GET['prenom'];
    $cle = $_GET['cle'];
    
    $link = mysql_connect (.......) or die ('Erreur : '.mysql_error() );
    mysql_select_db(.........) or die ('Erreur :'.mysql_error());
    
    // requête SQL 
    
    
    $sql = "select count(*) as NB from inscription_scripts_form where prenom ='"$_GET['prenom']"' and cle='"$_GET['cle']"'"; 
    
    
    echo 'incription réussie';
    
    		   
    		   
    mysql_close($link)
    ?>
    0
    1. burnedsyn
       
      $prenom = $_GET['prenom'];
      $cle = $_GET['cle'];

      $link = mysql_connect (.......) or die ('Erreur : '.mysql_error() );
      mysql_select_db(.........) or die ('Erreur :'.mysql_error());
      a
      // requête SQL

      /* Ici tu dois faire comme tu as fis ci-dessus tu crée une chaine de caractère entre les ' ou " et lorsque tu veux inserer une variable ben tu dois fermer ta chaine de caractère et utiliser l'opérateur de liaison . (concaténation terme plus exacte) donc $sql="select count(*) as NB from inscription_scripts_form where prenom ='".$_GET['prenom']."' and cle='".$_GET['cle']."'"; */

      //au lieu de :
      $sql = "select count(*) as NB from inscription_scripts_form where prenom ='"$_GET['prenom']"' and cle='"$_GET['cle']"'";

      /*Ensuite je ne sais pas si ton code est complet ici mais il manque quelques choses ...
      ici tu as créer une variable qui contient ta requete sql mais tu n'as pas éxécuté ta requete tu n'as encore rien fait en somme .*/

      echo 'incription réussie';



      mysql_close($link)

      donc je te conseille la lecture de différent chapitre du manuel php, ceux concernant les opérateurs et leur portée ceux qui concerne la connexions, choix de bd et utilisation des requetes sql comme ajout suppression mise a jours des table etc. si tu as des question shoot je tacherais d'y répondre
      0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. redman
     
    En fait ce script qui s'appelle validation.php s'exécute quand la personne à cliquer sur le lien recu par mail du genre

    http://monsite.fr/activation.php?log=erik&cle=f9912e81b405f3034283a897cac589ae

    voila pour plus d'info
    0
  6. redman
     
    ok pas de souci je refait un essai merci
    0
  7. redman
     
    Oui en effet je viens de changer log en prénom mais j'ai touj le même message d'erreur:

    Parse error: syntax error, unexpected T_VARIABLE in /homepages/3/d238180305/htdocs/activation.php on line 14

    je n'y comprend plus rien
    0
  8. redman
     
    Oui la colonne prénom est présente dans ma BDD et elle enregistre bien les prénoms

    La requête des prénoms se fait elle sur une autre page connexion.php

    // requête sql
        $sql = "INSERT INTO inscription_scripts_form(id, prenom, email, cle, actif) VALUES('','$prenom','$email','$cle','')";


    et j'ai changé prénom dans cette ligne de code là ou j'avai mis log à la place de prénom:

    http://monsite.fr/activation.php?prenom='.urlencode($prenom).'&cle='.urlencode($cle).'


    Voila merci
    0
  9. redman
     
    ok mais as tu lu mon message précédent pour voir avant peut être ?
    0
  10. redman
     
    Ok merci ca marche nickel ton code je vais ajouter ma sauce et puis faire une requête "update" pour valider l'inscription dans la BDD dand la colonne validation
    0
  11. redman
     
    une autre question au passage est ce que les {} sont obligatoires après un if par exemple ?
    0
  12. redman
     
    ok merci pour tout je viens de rajouter une requête update pour passer la colonne "actif" à 1 dans ma BDD pour confirmer ensuite l'inscription mais la colonne "actif" reste à 0 sniiif

    if (!$r) {
    echo "erreur"; 
    }
    else
    $sql= "UPDATE inscription_scripts_form SET actif = 1 WHERE prenom ";
    mysql_query($sql);
    
    {echo 'inscription enregistrée';
    }
    0
  13. giheller
     
    Bonjour,
    après avoir vérifié que inscription_scripts_form est bien une table de ta BDD,
    je te propose de mettre avant cette ligne 'en mettant la ligne 12 en commentaire pour ne pas avoir l'erreur,
    echo "<pre>";print-r($_GET);echo "</pre>";

    cela permettra de savoir quel variable n'existe pas.

    ou essaies de coder la ligne ainsi
    $sql = "select count(*) as NB from inscription_scripts_form where prenom ='".$_GET['prenom']."' and cle='".$_GET['cle']."'";
    -1
  14. giheller
     
    désolé erreur de frappe c'est pas un tiret (-) mais un underscore (_) su'il faute
    -1
  15. giheller
     
    alors pas dur c'est prenom qui n'est pas bon puisque tu l'appelle log dans ton url
    -1
  16. giheller
     
    où as-tu changer prenom, cela existe-t-il aussi dans ta BDD ?
    -1
  17. giheller
     
    je ne suis pas d'accord avec le ' ajoutée ni lurl encode cela n'est pas le problème (à mon avis)
    -1
  18. giheller
     
    where prenom = quelquechose serait mieux ...
    -1