2012-06-27 6 views
0

Je le lien suivant à la page d'indexMise à jour mySQL de lien de mise à jour

<td align="center"><a href="../athena/admin/update.php?id=' . $data ["keyword"] . ' ">update</a></td> 

et c'est la page, il va ... update.php et voici le code

$id=$_GET['keyword']; 

<tr><td> Keyword: </td><td> <input type="text" name="keyword" id="keyword" value="<? echo $id['keyword']; ?>"> 

Je veux que le mot-clé soit automatiquement inséré dans le formulaire afin que le reste de l'information puisse être mis à jour. Comment puis-je accomplir cela? Pour une raison quelconque, cela ne fonctionne pas. C'est mettre le keywork dans l'URL? Id = KEYWORD sur la page de mise à jour mais ne pas afficher dans le formulaire. Prob Quelque chose de stupide im sure

Répondre

3

Vous devez soit utiliser $_GET['id'] soit changer le lien href en ../athena/admin/update.php?keyword=. Actuellement, vous ne recherchez pas le paramètre id, qui contient le mot-clé.

+0

Merci qui a fonctionné. Je savais que c'était facile .... –

2

Vous devez changer:

<? echo $id['keyword']; ?> 

à:

<?php echo htmlspecialchars($id); ?> 

Note:

  • je balises normales php au lieu de balises courtes, juste au cas où;
  • J'ai utilisé htmlspecialchars pour éviter les erreurs et la javascript; Préparez toujours vos données pour le média utilisé.
+1

+1 vous avez repéré l'erreur suivante ... :-) – Thomas

0
$id=$_GET['keyword']; 

<tr><td> Keyword: </td><td> <input type="text" name="keyword" id="keyword" value="<? echo $id; ?>"> 

Peut être comme ça?

1

Veuillez vérifier à nouveau le nom de votre variable.

Ici, vous passez .php id = comme paramètre GET:

<td align="center"><a href="../athena/admin/update.php?id=' . $data ["keyword"] . ' ">update</a></td> 

Dans le update.php, je pense que vous venez de mal nommée, il était censé être:

$id = $_GET["id"]; //not $_GET["keyword"] 

le code ci-dessous Affichera tous les paramètres GET, généralement utile pour déboguer une application simple de PHP:

<?php 
    echo '<pre>'; 
     print_r($_GET); 
    echo '</pre>'; 
?> 

espère que cela a aidé.

Modifier: il n'y a pas d'impression en php. Utilisez print_r() ou var_dump()

+1

+1 réponse la plus complète et mention d'une méthode de débogage simple. – Thomas