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

Fermé
redman - 11 oct. 2008 à 09:51
 Utilisateur anonyme - 11 oct. 2008 à 13:38
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
A voir également:

18 réponses

Utilisateur anonyme
11 oct. 2008 à 10:49
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
Utilisateur anonyme
11 oct. 2008 à 11:31
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
Bonjour ok merci je test ca de suite
0
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
$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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
ok pas de souci je refait un essai merci
0
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
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
ok mais as tu lu mon message précédent pour voir avant peut être ?
0
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
une autre question au passage est ce que les {} sont obligatoires après un if par exemple ?
0
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
Utilisateur anonyme
11 oct. 2008 à 10:01
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
Utilisateur anonyme
11 oct. 2008 à 10:19
désolé erreur de frappe c'est pas un tiret (-) mais un underscore (_) su'il faute
-1
Utilisateur anonyme
11 oct. 2008 à 10:25
alors pas dur c'est prenom qui n'est pas bon puisque tu l'appelle log dans ton url
-1
Utilisateur anonyme
11 oct. 2008 à 10:42
où as-tu changer prenom, cela existe-t-il aussi dans ta BDD ?
-1
Utilisateur anonyme
11 oct. 2008 à 10:53
je ne suis pas d'accord avec le ' ajoutée ni lurl encode cela n'est pas le problème (à mon avis)
-1
Utilisateur anonyme
11 oct. 2008 à 13:38
where prenom = quelquechose serait mieux ...
-1