Undefined index

hellfire
Invité n'ayant pas de compte PHPfrance

02 août 2011, 11:12

Bonjour à tous/toutes (je sais qu'il y a des filles qui font du php ! xD)

Voici mon problème, j'ai un lien qui doit être envoyer dans une news et qui doit permettre aux clients de se connecter et, le cas échéant, de mettre leurs données à jour.

Au niveau du lien, c'est bon. Il ouvre un popup demandant le numéro de pc rattaché au client. Seulement voilà, quand on entre le numéro de pc, ça me donne une erreur qui est la suivante :
( ! ) Notice: Undefined index: pcnumber in C:\wamp\www\UpdateAssistPc\modif.php on line 17
Call Stack
# Time Memory Function Location
1 0.0144 370056 {main}( ) ..\modif.php:0


Et voici mon code (la ligne d'erreur est en gras dans le code):

<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>

<?php
$pcnumber = $_POST['pcnumber'];

$link = mysql_connect("localhost", "root", "");
$bdlink = mysql_select_db("assitpc", $link);

$sql = "select nom, prenom from clients where pcnumber = ('$pcnumber')";
$result = mysql_query($sql, $link) or die('Error MySql : '.mysql_error());

$row = '';
while($row = mysql_fetch_array($result)){
echo $row['pcnumber'];
}
?>
</html>

Là, j'ai un peu de mal à trouvé mon erreur... :'(

Eléphant du PHP | 275 Messages

02 août 2011, 11:16

Vu que tu sélectionne les colonnes "nom, prenom" de ta table, il ne risque pas d'y avoir une colonne "pcnumber" dans ton $row...

Mammouth du PHP | 2278 Messages

02 août 2011, 23:02

mets donc un print_r($row); dans le foreach....
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Eléphanteau du PHP | 26 Messages

03 août 2011, 12:04

Tu récupère $pcnumber depuis $_POST mais tu ne fais aucun test dessus. Ça veut dire qu'un utilisateur voyou peut mettre quelque chose du style - 0'); DROP DATABASE; - en input et là t'es mal. Dès que tu récupère quelque chose venant d'un utilisateur, vérifie le toujours.
Modifié en dernier par erraprod_ufm le 03 août 2011, 12:11, modifié 2 fois.

Eléphant du PHP | 275 Messages

03 août 2011, 12:06

mysql_fetch_array retourne un tableau à index numériques, c'est pour ça que 'pcnumber' n'est pas défini
Noo non :)

Code : Tout sélectionner

select nom, prenom

Eléphanteau du PHP | 26 Messages

03 août 2011, 12:10

je viens d'éditer j'ai lu en diagonale, en plus ce que j'ai dit était faux :p

Eléphant du PHP | 275 Messages

03 août 2011, 15:45

Pas tout a fait faut en fait ^^