Εισαγωγή Δεδομένων στη Βάση Δεδομένων
Θα δούμε τώρα πώς μπορούμε να δώσουμε τη δυνατότητα στους επισκέπτες (χρήστες) του site μας να προσθέσουν τις δικές τους εγγραφές (γραμμές) στη βάση δεδομένων. Για να μπορέσει να γίνει κάτι τέτοιο, είναι απαραίτητη η χρήση μιας φόρμας (form), ως εξής :
<FORM ACTION="<?php echo($PHP_SELF); ?>" METHOD=POST>
Γράψτε το joke εδώ :
<TEXTAREA NAME="joketext" ROWS=10 COLS=40 WRAP>
</TEXTAREA>
<INPUT TYPE=SUBMIT NAME="submitjoke" VALUE="SUBMIT">
</FORM>
Όταν υποβληθεί αυτή η φόρμα, θα φορτώσει την ίδια ακριβώς σελίδα, λόγω της χρήσης της μεταβλητής $PHP_SELF στην ιδιότητα ACTION της φόρμας, αλλά με δύο μεταβλητές συνδεδεμένες με την αίτηση (request).
Η πρώτη, η $joketext, θα περιέχει το κείμενο του joke όπως καταχωρήθηκε στην περιοχή κειμένου (text area). Η δεύτερη, η $submitjoke, θα περιέχει πάντα την τιμή "SUBMIT", η οποία μπορεί να χρησιμοποιηθεί σαν μια ένδειξη ότι έχει υποβληθεί ένα joke. Για να καταχωρηθεί το υποβαλλόμενο joke στη βάση δεδομένων, πρέπει να χρησιμοποιήσουμε τη συνάρτηση mysql_query() για να εκτελέσουμε ένα ερώτημα INSERT, χρησιμοποιώντας τη μεταβλητή $joketext για την τιμή που θα υποβληθεί, ως εξής :
if ("SUBMIT" == $submitjoke) {
$sql = "INSERT INTO Jokes SET " .
"JokeText='$joketext', " .
"JokeDate=CURDATE()";
if (mysql_query($sql)) {
echo("
Το joke έχει προστεθεί. </P>");
} else {
echo("
Λάθος κατά την προσθήκη του joke : " .
mysql_error() . "</P>");
}
}
Χρησιμοποιήσαμε τη συνάρτηση CURDATE() της MySQL για να εκχωρήσουμε την τρέχουσα ημερομηνία στην τιμή της στήλης JokeDate. Έχουμε τώρα τον κώδικα που δίνει τη δυνατότητα σ’ έναν χρήστη να καταχωρήσει ένα joke και να το προσθέσει στη βάση δεδομένων. Θα πρέπει τώρα να τον ενσωματώσουμε στην ήδη υπάρχουσα σελίδα εμφάνισης των jokes. Ακολουθεί ο κώδικας.
<HTML>
...
<BODY>
<?php
// Αν ο χρήστης θελήσει να προσθέσει ένα joke
if (isset($addjoke)):
?>
<FORM ACTION="<?php echo($PHP_SELF); ?>" METHOD=POST>
Γράψτε εδώ το joke :
<TEXTAREA NAME="joketext" ROWS=10 COLS=40 WRAP>
</TEXTAREA>
<INPUT TYPE=SUBMIT NAME="submitjoke" VALUE="SUBMIT">
</FORM>
<?php
else:
// Σύνδεση με τον database server
$dbcnx = @mysql_connect("localhost", "root", "mypasswd");
if (!$dbcnx) {
echo( "
Αδύνατη η σύνδεση με τον " .
"database server αυτή τη στιγμή. </P>" );
exit();
}
// Επιλογή της βάσης δεδομένων jokes
if (! @mysql_select_db("jokes") ) {
echo( "
Αδύνατος ο εντοπισμός της βάσης δεδομένων " .
" joke αυτή τη στιγμή.</P>" );
exit();
}
// Αν έχει υποβληθεί ένα joke, το προσθέτουμε στη βάση δεδομένων
if ("SUBMIT" == $submitjoke) {
$sql = "INSERT INTO Jokes SET " .
"JokeText='$joketext', " .
"JokeDate=CURDATE()";
if (mysql_query($sql)) {
echo("
Το joke έχει προστεθεί. </P>");
} else {
echo("
Λάθος στην προσθήκη του joke : " .
mysql_error() . "</P>");
}
}
echo("
Αυτά είναι όλα τα jokes " .
"που υπάρχουν στη βάση δεδομένων : </P>");
// Επιλογή του κειμένου όλων των jokes
$result = mysql_query(
"SELECT JokeText FROM Jokes");
if (!$result) {
echo("
Λάθος στην εκτέλεση του query : " .
mysql_error() . "</P>");
exit();
}
// Εμφάνιση του κειμένου του κάθε joke σε μια παράγραφο
while ( $row = mysql_fetch_array($result) ) {
echo("
" . $row["JokeText"] . "</P>");
}
// Όταν γίνει κλικ, αυτός ο σύνδεσμος (link) θα φορτώσει αυτή τη
// σελίδα με εμφανισμένη τη φόρμα υποβολής joke
echo("
<A HREF='$PHP_SELF?addjoke=1'>" .
"Πρόσθεσε ένα Joke!</A></P>");
endif;
?>
</BODY>
</HTML>

LinkBack URL
About LinkBacks







Απάντηση με παράθεση