Sérmac
|
16 Φεβρουαρίου 2011, 22:22
|
+1
|
Προγραμματιστικές Εφαρμογές στο Διαδίκτυο
Θέματα θεωρίας χειμερινού εξαμήνου 2010-2011 (14 Φεβρουαρίου 2011) + Λύσεις των ασκήσεων από εμένα (επισυνάπτονται, η κωδικοποίηση είναι UTF-8)
Ερωτήσεις θεωρίας
1. Η γλώσσα HTML σε τι εξυπηρετεί στην ανάπτυξη διαδικτυακών εφαρμογών; (0,5 μονάδες)
2. Η αρχιτεκτονική πελάτη/εξυπηρετητή (client/server) τι αλλαγές εισάγει στην σχεδίαση και ανάπτυξη διαδικτυακών εφαρμογών; (0,5 μονάδες)
3. Περιγράψετε την διαδικασία απαιτήσεων για την δημιουργία εσωτερικών συνδέσμων (internal links) μέσα σε μια ιστοσελίδα. Δώστε ένα μικρό παράδειγμα σε HTML script. (0,5 μονάδες)
4. Δίνεται το παρακάτω script σε php. Παρακαλώ γράψτε την τιμή της μεταβλητής $foo μετά από κάθε εντολή εκτέλεσης στο php script. (1 μονάδα) <?php $foo = "0.5"; $foo += 2; $foo = $foo + 1.3; $foo = 5 + "10 little marks"; $foo = 5 + "ten little marks"; ?>
5. Η εντολή switch στην php μπορεί να δεχτεί τιμές αλφαριθμητικών ως περίπτωση case; Αιτιολογήστε την απάντησή σας. (0,5 μονάδες)
6. Ερμηνεύστε με παραδείγματα την εντολή επανάληψης foreach. Σε ποιες περιπτώσεις εφαρμόζεται και τι πλεονεκτήματα παρέχει; (0,5 μονάδες)
Ασκήσεις
1. Μια λίστα με κωδικό βιβλίου και τίτλο βρίσκεται αποθηκευμένη στο αρχείο books.dat. Ζητείται να αναπτυχθεί πρόγραμμα με php script το οποίο θα επιτρέπει το άνοιγμα του αρχείου και τον σχεδιασμό μιας φόρμας με ένα select box το οποίο θα περιέχει τους κωδικούς βιβλίων από το αρχείο. (1,5 μονάδα)
2. Με επιλογή ενός κωδικού βιβλίου από το select box της φόρμας (Θέμα 1) θα οδηγεί στο άνοιγμα του αρχείου [κωδικός βιβλίου].dat και θα εμφανίζει τα δεδομένα του αρχείου στην οθόνη. Το αρχείο θα περιέχει τον συγγραφέα, κατηγορία και το πλήθος βιβλίων που υπάρχουμε στην βιβλιοθήκη. Διαχωριστικό πεδίων στο αρχείο το σύμβολο "+". (1 μονάδα)
3. (Για τους σπουδαστές με εργασία) Δημιουργήστε μια φόρμα με τρία πεδία radio button και ένα πεδίο text. Επιλέγοντας ένα πεδίο από τα radio να ενημερώνεται το edit box με το περιεχόμενο της επιλογής - Javascript. (4 μονάδες)
3. (Για τους σπουδαστές χωρίς εργασία) Εξελίξτε την λίστα από το θέμα 2 με τέτοιο τρόπο ώστε στο κάθε στοιχείο που εμφανίζεται στην οθόνη να υπάρχει υπερ-σύνδεσμος στον κωδικό του βιβλίου. Όταν θα επιλέγεται ένας κωδικός βιβλίου να επιτρέπεται η αλλαγή πλήθους βιβλίων με ενημέρωση αρχείου. Η φόρμα να ελέγχει για πιθανών λάθη εισαγωγής τιμών με Javascript. (3 μονάδες)
4. (Για τους σπουδαστές χωρίς εργασία) Με κώδικα php φορτώστε σε πίνακα τα δεδομένα του αρχείου books.dat και ταξινομήστε τα στοιχεία ανάστροφα. (1 μονάδα)
|
|
Τελευταία τροποποίηση: 17 Φεβρουαρίου 2011, 09:20 από Sermac
|
Καταγράφηκε
|
|
|
|
|
lafs
Μηχανικών Πληροφορικής ΤΕ
Μηνύματα: 839
Θετικοί ψήφοι: 0
Αποσυνδεδεμένος
|
Στο παρακάτω θέμα:
Με επιλογή ενός κωδικού βιβλίου από το select box της φόρμας (Θέμα 1) θα οδηγεί στο άνοιγμα του αρχείου [κωδικός βιβλίου].dat και θα εμφανίζει τα δεδομένα του αρχείου στην οθόνη. Το αρχείο θα περιέχει τον συγγραφέα, κατηγορία και το πλήθος βιβλίων που υπάρχουμε στην βιβλιοθήκη. Διαχωριστικό πεδίων στο αρχείο το σύμβολο "+". (1 μονάδα)
Δεν θα πρέπει να υπάρχει κουμπί "submit" αλλά στο "select" που υπάρχει χρειάζεται να βάλουμε το ακόλουθο "event":
onchange = "this.form.submit();"
Επίσης, θα πρέπει να ελέγχεις και για "isset" όχι μόνο για "isempty"
Τέλος, υπάρχουν μερικά θέματα με Injection.
Βέβαια αυτά είναι προαιρετικά.
Παρόλα αυτά αυτό με το event είναι κάτι απαραίτητο..
|
|
|
Καταγράφηκε
|
Efstathios Chatzikyriakidis (efxa) Informatics & Communications Engineer (BSc)
WEB: efxa.org - EMAIL: contact@efxa.org
|
|
|
Sérmac
|
Δεν το προσδιορίζει στην εκφώνηση, αλλά αν το διδάσκει στην θεωρία τότε καλύτερα να το κάνετε με event.
Για όσους δεν κατάλαβαν: askiseis/1-2/index.php <form action="viewbook.php" method="get"> <label for="id">Επιλογή βιβλίου: </label><br /> <br /> <select id="id" name="id" onchange="this.form.submit()"> <option value="" selected="selected"><!-- --></option> <?php $file = fopen('books.dat', 'r'); if($file) { while(!feof($file)) { $line = fgets($file); $parts = explode('+', $line); ?> <option value="<?php echo $parts[0]; ?>">(<?php echo $parts[0]; ?>): <?php echo $parts[1]; ?></option> <?php } } <br /> <br /> <input type="submit" value="ΟΚ" /> fclose($file); ?> </select> </form>
Για τα υπόλοιπα το γνωρίζω, αλλά ας μην τους μπερδέψουμε. Για εκπαίδευση είναι οι λύσεις, όχι για εφαρμογή υπό πραγματικές συνθήκες.
|
|
|
Καταγράφηκε
|
|
|
|
Sport_Billy
Μηχανικών Πληροφορικής ΤΕ
Μηνύματα: 1170
Θετικοί ψήφοι: +407
Αποσυνδεδεμένος
Sidai
|
Στη λυση του 3ου θεματος το action της φορμας δε χρειαζεται να σε πηγαινει στο viewbook.php . Δεν εχουν σχεση οι ασκησεις μεταξυ τους.
|
|
|
Καταγράφηκε
|
|
|
|
Sérmac
|
Οκ, το διόρθωσα.
|
|
|
Καταγράφηκε
|
|
|
|
casper
Μηχανικών Πληροφορικής ΤΕ
Μηνύματα: 897
Θετικοί ψήφοι: 0
Αποσυνδεδεμένος
Οι κλέφτες βολεμένοι, η Ελλάδα διαλυμένη...
|
στο onchange="this.form.submit()" δεν θα πρέπει παραπάνω κάπου να έχουμε γράψει <script type="text/javascript"> Επειδή είναι event της JS ?
|
|
|
Καταγράφηκε
|
Πίσω από την ανωνυμία κρύβονται φοβερές αλήθειες αλλά και φοβερά ψέματα!
|
|
|
anonym.me
Μηχανικών Πληροφορικής ΤΕ
Μηνύματα: 258
Θετικοί ψήφοι: +203
Αποσυνδεδεμένος
Remember remember the 5th of November
|
Όχι, δε χρειάζεται. Ψάχνω να βρω μια εξήγηση που να το λέει λίγο καλύτερα, αλλά επειδή δε βρίσκω, αρκέσου στο εξής: Ακριβώς επειδή είναι event τα οποία τα διαχειρίζεται η javascript, όταν γίνεται parse το HTML και δημιουργούνται τα στοιχεία, τότε διαβάζοντας ο browser τα events onchange, onclick, onblur κλπ περιμένει ότι αυτό που ακολουθεί είναι script. Α, βασικά δες εδώ: http://www.w3schools.com/tags/ref_eventattributes.asp
|
|
|
Καταγράφηκε
|
The only verdict is vengeance
|
|
|
casper
Μηχανικών Πληροφορικής ΤΕ
Μηνύματα: 897
Θετικοί ψήφοι: 0
Αποσυνδεδεμένος
Οι κλέφτες βολεμένοι, η Ελλάδα διαλυμένη...
|
Όχι, δε χρειάζεται. Ψάχνω να βρω μια εξήγηση που να το λέει λίγο καλύτερα, αλλά επειδή δε βρίσκω, αρκέσου στο εξής:
Ακριβώς επειδή είναι event τα οποία τα διαχειρίζεται η javascript, όταν γίνεται parse το HTML και δημιουργούνται τα στοιχεία, τότε διαβάζοντας ο browser τα events onchange, onclick, onblur κλπ περιμένει ότι αυτό που ακολουθεί είναι script.
Α, βασικά δες εδώ: http://www.w3schools.com/tags/ref_eventattributes.asp
δηλαδη?
|
|
|
Καταγράφηκε
|
Πίσω από την ανωνυμία κρύβονται φοβερές αλήθειες αλλά και φοβερά ψέματα!
|
|
|
riffmaster
|
δηλαδη?
Δηλαδή με λίγα λόγια οι σημερινοί browsers είναι πιό "έξυπνοι" και κάποια πράγματα τα καταλαβαίνουν από μόνοι τους.
|
|
|
Καταγράφηκε
|
☻/ This is Bob, copy & paste him /▌ on every comment you see / \ so he can take over teiserron
|
|
|
anonym.me
Μηχανικών Πληροφορικής ΤΕ
Μηνύματα: 258
Θετικοί ψήφοι: +203
Αποσυνδεδεμένος
Remember remember the 5th of November
|
Δηλαδή όταν βλέπει ο browser [onchange=]
Tότε ξέρει ότι αυτό που είναι μετά το [=] είναι javascript, οπότε δεν χρειάζεται να βάλεις το <script type="text/javascript">
|
|
|
Καταγράφηκε
|
The only verdict is vengeance
|
|
|
|