Προς το περιεχόμενο

Ερώτηση για web-εφαρμογή


xaotikos

Προτεινόμενες αναρτήσεις

Έχω φτιάξει ένα πρόγραμμα σε MATLAB το οποίο δέχεται στοιχεία από μία φόρμα HTML σαν είσοδο. Για έξοδο δημιουργεί μια καινούρια σελίδα με γραφικές και πίνακες.

 

Αυτό που θέλω να κάνω είναι να σιγουρέψω ότι αν χρησιμοποιήσουν την σελίδα ταυτόχρονα πολλοί χρήστες βάζοντας διαφορετικές τιμές στην είσοδο θα πάρουν τα αποτελέσματα που τους αντιστοιχούν και δεν θα γίνει κάποιο μπέρδεμα. Βασίζομαι στο ότι η φορμα επιστρέφει μια μεταβλητή mlid η οποία είναι μοναδική για κάθε φορά που γίνεται submit και τρέχει το πρόγραμμα.

 

Αυτό που σκέφτομαι είναι να σώζω τα αποτελέσματα (πίνακες, ονόματα αρχείων κλπ) σε κάποιο txt του οποίου το όνομα θα βασίζεται στο mlid και να κάνω κάποιου είδους αντιστοιχιση στον χρήστη που έκανε submit και το αρχείο με βάση το mlid. Αυτό από όσο διάβασα γίνεται χρησιμοποιώντας κάτι σαν session control. Δυστυχώς όμως δεν έχω απαραίτητες γνώσεις web programming και δεν ξέρω που να ψάξω.

 

Επομένως όποιος ξέρει κάποιο τρόπο ή σκέφτεται κάποια ιδέα ας το πει εδώ. Προτιμότερο είναι να μείνει η σελίδα σε απλη html για να υπάρχει compatibility στους browsers και να αποφύγω ASP ή databases μιας και κάνω την δουλειά μου μια χαρά μέχρι τώρα χωρίς αυτές. Αν δεν γίνεται αλλιώς ΟΚ.

 

To matlab είναι cgi-bin εφαρμογή αν βοηθάει αυτό.

 

Ευχαριστώ εκ των προτέρων.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

πριν προσπαθησεις να λυσεις ενα πρόβλημα, σιγουρέψου οτι υπάρχει προβλημα. Φοβάσαι μην μπλεχτουν τα αποτελεσματα. Μηπως ο χρηστης Χ δει την output page του χρηστη Ψ. Εχεις διαπιστωσει οτι πράγματι αυτο συμβαινει? μη δουλευεις τσάμπα.

 

εγω πιστευω οτι δεν θα συμβει. και υπευθυνος για το διαχωρισμο των sessions πιστευω οτι ειναι ο web server (apache, IIS) παρά το προγραμμά σου.

κανε μερικες δοκιμες, ανοιξε 10 browser windows και κανε submit διαφορετικων inputs σχεδον ταυτόχρονα.

 

ενας υπαρκτος κινδυνος ειναι ο χρηστης Χ ειναι να ποσταρει τιμη 10, να παρει αποτελεσμα 10+Α, παταει Back, ποσταρει 20, και αποτελεσμα να δει πάλι 10+Α (δηλ. την παλια σελιδα απο την cache του ή απο εναν ενδιάμεσο caching proxy). H λυση εδω -νομιζω- ειναι να βαλεις στο header του Output την οδηγια

ΜΕΤΑ nocache (δες στο html reference τη συνταξη)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Λοιπόν, το έψαξα λίγο με ASP και sessions και ψιλοκατάλαβα τι γίνεται. ΑΛΛΑ (παντα υπάρχει ένα αλλά :(): Η αρχική μου σελιδα (ένα frameset) είναι OK και μπορώ να πάρω το SessionID. Σε αυτήν έχω μια φόρμα η οποία κάνοντάς την submit καλεί μια εφαρμογή MATLAB η οποία στο τέλος της ανοίγει μια σελίδα με τα αποτελέσματα. Σε αυτή την τελική σελίδα δεν μπορώ να πάρω το SessionID ώστε να το συγκρίνω με το SessionID της πρώτης και να ελέγξω αν είναι ο ίδιος χρήστης.

 

Κάπου διάβασα ότι το ASP session δεν παίζει με IIS εφαρμογές. Αληθεύει αυτό ή εγώ κάνω κάτι λάθος? Αν αληθεύει πως δουλεύουμε τα sessions σε αυτές τις περιπτώσεις? Μόνο με cookie? Το να βάλω querry στο URL δεν παίζει αφού η σελίδα φορτώνεται μέσα από την εφαρμογή Matlab και όσο και αν δοκίμασα δεν μπόρεσα να την ανοίξω βάζοντας ενα ?query στο τέλος της διεύθυνσης.

 

Για να δώσω ακόμα ένα στοιχείο μήπως έρθει καμια ιδέα, με το που κάνω submit την form στην αρχική σελίδα, η matlab εφαρμογή πέρα από τα στοιχεία της form παίρνει και μια μεταβλητή με όνομα mlid η οποία είναι ξεχωριστή για κάθε submit της form. Αυτή η μεταβλητή μπορεί να παίξει (όπως το σκέφτομαι) το ρόλο του sessionId για την τελική σελίδα. Καμιά ιδέα όμως πως να την συνδιάσω με την πρώτη σελίδα ώστε να συγκρίνω τις 2 τιμές και να ελέγχω αν ο χρήστης είναι ίδιος?

 

Ευχαριστώ προκαταβολικά και συμπαθάτε με αλλά δεν το κατέχω το web development ιδιαίτερα.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...