Αρχή :: Ενότητες :: ASP Applications :: Απαντήσεις     
 

Forum

Bug στο εργαλείο δημοψηφίσματος "Vote" - Από {(anonymous)}

Πρώτα - πρώτα μην απαντήσει κανείς, χωρίς να κάνει reproduce του Bug που αναφέρω...

Αν και καίγομαι για βοήθεια, δεν έχω καθόλου χρόνο να εξηγώ για δεύτερη φορά απορίες όπως "δεν κατάλαβα τι εννοείς..."
Παρακαλώ, κάνετε αναπαραγωγή του bug που περιγράφω και θα καταλάβετε. Ύστερα αν κάποιος ξέρει από asp (γιατί εγώ δεν έχω ιδέα) και μου πει πώς να το διορθώσω, έχει καλώς και τον ευχαριστώ εκ των προτέρων...

Στο bug τώρα, το οποίο οφείλεται στην εντολή <%request("http_referer")%> (γραμμή 21 του katametrisi.asp) και εμφανίζεται όταν ισχύει το ακόλουθο σενάριο:

1. Η κεντρική σελίδα του site μου (που περιέχει το iframe με το poll) είναι η index.asp. Επομένως δεν είναι απαραίτητο να την πληκτρολογήσω στον browser, αφού αρκεί το root του site http://www.mysite.gr/

2. Εκεί λοιπόν, *χωρίς* να επιλέξω κάποιο από τα πεδία του poll πατάω το κουμπί Αποστολή (για να προκαλέσω εσκεμμένα λάθος), οπότε μου εμφανίζει το μήνυμα "Παρακαλώ επιλέξετε πεδίο" και τον δεσμό "Επιστροφή".

3. Πατώντας όμως το δεσμό "Επιστροφή, ο server εμφανίζει στο iframe τη σελίδα http://www.mysite.gr/[φακελος_με_τα_αρχεία_του_Vote]/index.html

Όπως φαίνεται, ο server θεωρεί ως http_referer τον root φάκελο του katametrisi.asp και όχι τον root φάκελο του site.

Αντίθετα, αν στον browser είχα δηλώσει την πλήρη διεύθυνση της κεντρικής σελίδας μου, τότε το http_referer λειτουργεί σωστά και ο server εμφανίζει στο iframe την σωστή σελίδα, που είναι η
http://www.mysite.gr/[φακελος_με_τα_αρχεία_του_Vote]/vote.asp

Θέλω λοιπόν, κάποιος που ξέρει asp να με βοηθείσει να αντικαταστήσω το http_referer με κάτι ανάλογο, αλλά και ταυτόχρονα να διοιρθώσει τον υπόλοιπο κώδικα της σελίδας, που αφαλώς θα επηρεαστεί από αυτήν την αντικατάσταση.

Ευχαριστώ πολύ...

 


Απάντηση από:domain-hosting.gr

Άλλαξε την γραμμή 21 του katametrisi.asp
<a href="<%=request("http_referer")%>">Επιστροφή</a>

Και δώσε όπια διεύθυνση θέλεις.
Πχ
<a href="http://mysite.gr/main.html">Επιστροφή</a>

Απάντηση από:geotso

Μάλιστα!
Ευχαριστώ πολύ!

Απάντηση από:(anonymous)

Δυστυχώς, μετά από δοκιμές η χρήση της στατικής διεύθυνσης (<a href="http://mysite.gr/main.html">Επιστροφή</a>) δημιουργεί άλλο πρόβλημα:

Παύει να δίνει την ευχέρεια για δημιουργία άλλου survey, αφού όλα θα παραπέμπουν σ' αυτή την ίδια σελίδα. Εκτός κι αν για κάθε survey φτιάχνω και αντίστοιχες σελίδες katametrisi.asp και vote.asp (Π.χ. vote2.asp - katametrisi2.asp, vote3.asp - katametrisi3.asp) αλλά αυτό είναι παράλογο και ανεφάρμοστο...

Μιά άλλη λύση που σκέφτηκα είναι να έχω δύο ... κεντρικές σελίδες: η μία, η index.asp χωρίς περιεχόμενα, με μόνο μία εντολή refresh που θα οδηγεί στην δεύτερη π.χ. main.asp, οπότε στο cache του browser θα αποθηκεύεται η διεύθυνση της σελίδας και θα λειτουργεί το http_referer.
Οι ανακατευθύνσεις σελίδων όμως και μάλιστα από μια άδεια κεντρική σελίδα είναι ότι χειρότερο για τις μηχανές αναζήτησης και τα εργαλεία ανίχνευσης spam...
Άρα κι αυτή η λύση απορρίπτεται.

Τι μας μένει λοιπόν; Μόνο μία (;) απάντηση υπάρχει:
Να χρησιμοποιήσω το survey με την σωστή εντολή εμφάνισης της σελίδας (request("http:_referer"), ώστε να μπορώ μεν να δημιουργήσω πολλά poll, αλλά κανένα από αυτά δεν θα πρέπει να είναι στην κεντρική σελίδα.

Έχετε εσείς καμμιά άλλη εναλλακτική πρόταση;



tip: Unlimited Profesional ASP.NET 4.0 Hosting.+ MSSQL με 2,30 € το μήνα * F5 για νέο tip

   Πίσω στην προηγούμενη σελίδα






Η Εταιρία | Web Hosting | Domain names | Web Information | Υπηρεσίες | Resellers | Υποστήριξη |
Copyright © 2007–09 4GR.NETWORKS, All rights reserved.