2010-01-04 5 views
0

Qu'est-ce que mon script fait actuellement:formulaire de modification de chargement uniquement si GET var existe dans la base de données

  • grappins & nettoie un $ _GET [ « id »]
  • tire toutes les données pré-existantes de tableau pour cet ID
  • affiche la fiche peuplée avec des données pré-existantes
  • envoie des données soumettons de formulaire pour mettre à jour le script, ajoute toutes les données TABLEAU

Ce que je veux que mon script pour faire:

  • grappins & nettoie un $ _GET [ 'id']
  • tire possible (id) 's du tableau (ce que je sais comment faire)
  • vérifie que $_GET['id'] est en tableau ID (ce que je sais comment faire)
  • SINON, le script tuer, ne pas afficher la forme, et le message d'erreur écho (ce que je ne suis pas)
  • SI OUI, passez normalement
  • tire toutes les données pré-existantes de tableau pour cet ID
  • affiche forment peuplé avec des données pré-existantes
  • soumettons envoie des données de formulaire à mettre à jour le script, ajoute toutes les données à TABLEAU

structure de script actuel:

  • code php
  • forme html avec <?php _ ?> inserts pour toutes les valeurs

J'ai essayé d'être un bon garçon et séparer mon code, et ont largement réussi. Mais cela m'a laissé le problème que mon formulaire html affiche si le $_GET['id'] est légitime ou non.

Est-ce que quelqu'un pourrait m'aider à le configurer afin que if (!in_array($id, $allIDs)) empêche l'affichage du formulaire et renvoie une erreur à la place?

En plus de faire la forme d'un HEREDOC en écho, existe-t-il un moyen de contrôler l'affichage de ce code html?

Le code d'erreur est acceptable. Je n'ai pas pris la peine de poster mon code réel parce que je ne pensais pas que le problème méritait vraiment une telle spécificité. Je peux en cas de besoin ...

Répondre

2

tire possible (id) est de table, vérifie que $ _GET [ 'id'] est dans l'ID de tableau (ce que je sais comment faire)

C'est stupidement inefficace. Vous devriez demander à la base de données si elle a une ligne avec ID = $ _GET ['id'].

Je vais vous montrer comment pour ce faire si vous montrez comment vous faites actuellement des requêtes DB.

En plus de faire la forme d'un HEREDOC en écho, existe-t-il un moyen de contrôler l'affichage de ce html?

Eh bien, cela fonctionne, peut-être surprenant:

<?php 
if ($should_show_form) { 
?> 
<form action=""> 
    <input type="submit"> 
</form> 
<?php 
} else { 
    //do something else 
} 
?> 
+1

Comme vous l'aurez deviné, je suis un débutant, et un autodidacte à cela. Apprendre de cette manière est économique, mais conduit inévitablement à de grands trous (et plus tard, tout à fait évidents) dans ses connaissances et ses capacités. Merci d'avoir branché deux d'entre eux d'un seul coup: que je ne peux interroger que pour l'existence, et que je peux mettre le code HTML "dans" le code php. Je le visualisais dans l'autre sens - mettre le php "dans" le html. Je me sens comme un poisson-chat juste nagé dans ma gourde. Je vous remercie! – Drew

Questions connexes