2010-09-02 6 views
0

Salut tout le monde, j'ai une base de données qui contient mes informations produit, que vous pouvez voir connecté à une page de catalogue ici:URL dynamiques ASP de base de données SQL Server

http://www.marioplanet.com/catalog.asp

Je voudrais maintenant, d'avoir les pages de produits créées, avec les URL générées par un certain nom dans ma base de données. Par exemple, si vous pointez votre navigateur vers le lien ci-dessus et regardez le premier produit (Mario (en cours d'exécution) - Plush), j'aimerais que l'URL générée soit basée sur ce nom. Donc, vous devriez aller à http://www.marioplanet.com/Mario_(Running)_Plush.asp ou quelque chose comme ça. Maintenant, je ne suis pas sûr de savoir comment le faire correctement, donc je pourrais vraiment utiliser un peu d'aide.

Quelle est la manière la plus facile de faire cela?

Répondre

1

Le moyen le plus simple serait d'acheter un panier avec la capacité déjà là. Cela vous permettra d'économiser des tonnes de maux de tête dans le domaine de la conformité PCI si vous acceptez les paiements. (Ce n'est pas censé être une réponse intelligente: tant que vous n'avez pas à vous conformer aux normes et à passer des audits, vous n'avez vraiment aucune idée de ce que vous voulez faire.) Et il y a des chariots open source aussi bien si vous ne voulez pas payer.

Je ne sais pas qu'il existe un moyen facile de le faire en ASP classique. Avec ASP.NET, le routage des URL est bien couvert et géré. Je crois que Microsoft a cessé de publier des mises à jour pour ASP classique longtemps avant que la redirection d'url est entré en vogue. Vous devriez écrire quelque chose vous-même dans quelque chose d'autre que l'ASP classique pour le gérer au niveau IIS, je crois.

+2

Totalement d'accord. L'acquisition d'un module de panier est beaucoup plus attrayante ou une meilleure utilisation du temps d'un dev que d'écrire ce nouveau! –

+0

Il pourrait encore avoir une plate-forme complète de commerce électronique avec l'achat réel étant déchargé à authorize.net (il ne sauverait rien pour la conformité PCI) J'ai développé des sites comme celui-ci pour quelques clients, mais vrai, il doit savoir ce qu'il est en pour avec la conformité et les audits PCI.Vous ne pouvez pas faire la moitié de ce truc quand l'argent des autres est sur la ligne;) – Jakub

1

Construire l'URL est la partie facile:

<% 
    Dim productName 
    Dim categoryName 
    Dim url 

    Do While rsProducts.EOF = False 
     productName = rsProducts("ProductName") 
     categoryName = rsProducts("CategoryName") 
     url = "http://www.marioplanet.com/Mario_" + categoryName + "_" + productName + ".asp" 
%>  
    <a href="<%Response.Write url%>"> 
     <%Response.Write categoryName + "-" + productName %> 
    </a><br> 
<% rsProducts.MoveNext 
    Loop %> 

Vous aurait alors à faire en sorte que:

  • ces pages sont tous créés/existent sur le disque
  • configurer un gestionnaire IIS pour s'assurer qu'ils sont acheminés correctement.

Un meilleur itinéraire

vous suggère de construire une URL comme:

http://mysite.com/jackets.asp?p=Vuitton 

Ensuite, il suffit faire une page pour chaque catégorie (vestes, chaussures, chats, chevaux). Dans chacun d'eux, saisissez le nom du produit/SKU à partir d'un paramètre de chaîne de requête. Vous pouvez utiliser le code ci-dessus avec quelques légères modifications. Vous aurez certainement besoin de prendre quelques mesures lors de l'interrogation de Vuitton que ce n'est pas une attaque par injection SQL.

Vous devez ensuite passer de .htm à .asp uniquement si la page doit charger des informations à partir de la base de données.

+0

Donc .. Une fois les URL construites, quelle est la prochaine étape? J'ai un exemple de page de produit (http://www.marioplanet.com/product.htm) mais je devrais le connecter à mes informations de base de données, non? – Qcom

+2

ET si vous suivez cette voie, soyez sûr de valider et de ne pas vous ouvrir aux attaques par injection SQL, XSS ou XSRF. – David