Τι είναι ένα αρχείο SHTML;
Ένα αρχείο με επέκταση .shtml είναι μια ιστοσελίδα που είναι γραμμένη σε HTML και περιλαμβάνει οδηγίες διακομιστή. Ενδέχεται επίσης να περιέχει περιλαμβάνει από την πλευρά του διακομιστή παρόμοια με αρχεία ASP για ταχύτερη φόρτωση. Τα αρχεία από την πλευρά του διακομιστή μπορούν επίσης να περιέχουν εκτελέσιμο κώδικα που μπορεί να κάνει τον διακομιστή να φορτώνει πιο αργά από το συνηθισμένο. Τα αρχεία SHTML είναι παρόμοια με τα HTML αλλά επιτρέπουν επίσης τη χρήση απλών εντολών διακομιστή. Αυτές οι εντολές διακομιστή εκτελούνται σε μια απλή γλώσσα προγραμματισμού υπολογιστή που ονομάζεται Περιλαμβάνει από την πλευρά του διακομιστή (SSI). Το SHTML έχει αντικατασταθεί σε μεγάλο βαθμό από άλλες γλώσσες προγραμματισμού από την πλευρά του διακομιστή, όπως η PHP περιλαμβάνει.
Μορφή αρχείου SHTML
Τα αρχεία SHTML γράφονται σε απλό κείμενο και χρησιμοποιούν τις εντολές SSI που εκτελούνται από την πλευρά του διακομιστή. Αυτές οι εντολές από την πλευρά του διακομιστή μπορούν να χρησιμοποιηθούν ακόμη και για σύνδεση στη βάση δεδομένων χρησιμοποιώντας τα προγράμματα οδήγησης της βάσης δεδομένων και για ανάκτηση δεδομένων χρηστών από πίνακες.
Παράδειγμα SHTML
Οι οδηγίες από την πλευρά του διακομιστή χρησιμοποιούνται σε εφαρμογές όπως για μετρητή επισκεπτών σελίδας ή για ημερολόγιο ιστοσελίδων. Το ακόλουθο παράδειγμα εμφανίζει τις τέσσερις πρώτες στήλες των τριών πρώτων γραμμών της βάσης δεδομένων χρηστών.
<!--#jdbc name="result2" select="SELECT * FROM users"
user="bmahe" password=""
url="jdbc:msql://www43.inria.fr:4333/users"
driver="com.imaginary.sql.msql.MsqlDriver" -->
<table border=2>
<!--#cpt name="cpt1" init="0" -->
<tr><td><b>Name </td><td><b>Login</td>
<td><b>Email</td><td><b>Age </td></tr>
<!--#loop name="loop2" -->
<!--#jdbc name="result2" next="true" -->
<tr>
<td>
<!--#jdbc name="result2" column="1" -->
</td><td>
<!--#jdbc name="result2" column="2" -->
</td><td>
<!--#jdbc name="result2" column="3" -->
</td><td>
<!--#jdbc name="result2" column="4" -->
</td>
</tr>
<!--#cpt name="cpt1" incr="1" -->
<!--#exitloop name="loop2" command="cpt" var="cpt1" equals="3" -->
<!--#endloop name="loop2" -->
</table>
counter value : <!--#cpt name="cpt1" value="true" -->