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

form+database


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

Δημοσ.

Ξέρω πως ισως σε πολλούς απο εσας φανει αστειο αλλα επειδη εχω μπερδευτει ζηταω τη βοηθεια σας γιατι δε ξερω ουτε σε τι γλωσσα θα πρεπει να το δημιουργησω...Θελω οταν γινεται submit η φορμα να καταχωρουνται τα στοιχεια αυτοματα στη βαση μου...πως θα το κανω αυτο σε php,mysql,java τι???

Δημοσ.

Υπάρχουν διάφοροι τρόποι. Ο πιο κλασσικός είναι

Μια φορμα φτιαγμένη με html που να στέλνει τα δεδομένα σε ένα script php, το οποίο με τη σειρά του θα συνδέεται με την βάση δεδομένων mysql και θα καταχωρεί τα δεδομένα στη βάση.

 

Αυτά απαιτούν τις παρακάτω τεχνολογίες

  • Web server (π.χ. apache)
  • php module
  • mysql

Δημοσ.

><form name="frm1" action="mailform.php" method="post" enctype="text/plain" onsubmit="return formSubmit()">
           <?php
               echo"*ONOMA:";
           ?>
            <input type="text" name="fname">
            <br/>
            <?php
               echo"*ΕΠΙΘΕΤΟ:";
           ?>
           <input type="text" name="lname">
            <br/>
            <?php
               echo "*e-mail:";
           ?>
            <input type="text" id="email">
            <br/>
            <?
            echo "Φύλο:
           
            <input type='radio' name='sex' value='male' />
            Άνδρας                
               <br />
           <input type='radio' name='sex' value='female' />
               Γυναίκα";
               
            ?>
           <?php
               echo "<br/>ΗΜΕΡΟΜΗΝΙΑ:";
            ?>
            <select name='day'>
               <option value="">1</option>
               <option value="">2</option>
               <option value="">3</option>
               <option value="">4</option>
               <option value="">5</option>
               <option value="">6</option>
               <option value="">7</option>
               <option value="">8</option>
               <option value="">9</option>
               <option value="">10</option>
               <option value="">11</option>
               <option value="">12</option>
               <option value="">13</option>
               <option value="">14</option>
               <option value="">15</option>
               <option value="">16</option>
               <option value="">17</option>
               <option value="">18</option>
               <option value="">19</option>
               <option value="">20</option>
               <option value="">21</option>
               <option value="">22</option>
               <option value="">23</option>
               <option value="">24</option>
               <option value="">25</option>
               <option value="">26</option>
               <option value="">27</option>
               <option value="">28</option>
               <option value="">29</option>
               <option value="">30</option>
               <option value="">31</option>
           </select>
           <select name='month'>
               <option value="">Ιανουάριος</option>
               <option value="">Φεβρουάριος</option>
               <option value="">Μάρτιος</option>
               <option value="">Απρίλιος</option>
               <option value="">Μάιος</option>
               <option value="">Ιούνιος</option>
               <option value="">Ιούλιος</option>
               <option value="">Αύγουστος</option>
               <option value="">Σεπτέμβριος</option>
               <option value="">Οκτώβριος</option>
               <option value="">Νοέμβρης</option>
               <option value="">Δεκέμβρης</option>
           </select>
           <select name='year'>
               <option value="">1969</option>
               <option value="">1970</option>
               <option value="">1971</option>
               <option value="">1972</option>
               <option value="">1973</option>
               <option value="">1974</option>
               <option value="">1975</option>
               <option value="">1976</option>
               <option value="">1977</option>
               <option value="">1978</option>
               <option value="">1979</option>
               <option value="">1980</option>
               <option value="">1981</option>
               <option value="">1982</option>
               <option value="">1983</option>
               <option value="">1984</option>
               <option value="">1985</option>
               <option value="">1986</option>
               <option value="">1987</option>
               <option value="">1988</option>
               <option value="">1989</option>
               <option value="">1990</option>
               <option value="">1991</option>
               <option value="">1992</option>
               <option value="">1993</option>
               <option value="">1994</option>
               <option value="">1995</option>
               <option value="">1996</option>
               <option value="">1997</option>
               <option value="">1998</option>
               <option value="">1999</option>
               <option value="">2000</option>
               <option value="">2001</option>
               <option value="">2002</option>
               <option value="">2003</option>
               <option value="">2004</option>
               <option value="">2005</option>
               <option value="">2006</option>
               <option value="">2007</option>
               <option value="">2008</option>
               <option value="">2009</option>
               <option value="">2010</option>
           </select>
               <br/>
            <?
               echo "MHNYMA:";
           ?>
           <br/>
            <textarea rows="9" name="message" cols="30"></textarea><br/>
            <br/>
           
           
            <input type="submit" value="Submit" name="submit" onclick="formSubmit()">
       </form>

αν υποθεσουμε οτι ο παραπανω ειναι ο κωδικας της φορμας πως θα παρουμε τα στοιχεια στο αλλο αρχειο και μετα στη βαση;;;

Δημοσ.

Στην επόμενη σελίδα , δηλαδή την mailform.php, με την $_POST παίρνεις τις τιμές, π.χ. $_POST['day'].

 

Για να τα βάλεις στην βάση πρέπει να συνδεθείς αρχικά και μετά να χρησιμοποιήσεις την mysql_queryηγ για να εκτελέσεις το query σου στην βάση.

Παράδειγμα σύνταξης:

>
mysql_query("INSERT INTO tablename (fieldname1, fieldname2) VALUES ('".$fieldname1."','".$fieldname2."');

 

Τέλος, έχεις ήδη ανοίξει ένα thread με το ίδιο θέμα, συνeέχισε το εκεί.

 

Φιλικά!

Δημοσ.

Γενικά, μιας και είσαι στην αρχή ακόμα, κάνε μια χάρη στον εαυτό σου και διάβασε για το PDO, και μην ξαναγυρίσεις ΠΟΤΕ στην απλή σύνταξη για τη mysql. Επίσης, την php και την κάθε γλώσσα προγραμματισμού τη χρησιμοποιούμε για να κάνουμε τη ζωή μας πιο εύκολη. Για παράδειγμα, αντί για όλο αυτό το τρομακτικό select tag που έχεις, μπορούσες να έχεις πολύ απλά:

 

>
<select>
[indent=1]<?php for ( $i = 1969; $i < date('Y'); $i++ ): ?>[/indent]
[indent=1]<option value=""><?php echo $i; ?>[/indent]
[indent=1]<?php endfor; ?>[/indent]
</select>

 

Τέλος, ΠΟΤΕ ΠΟΤΕ ΠΟΤΕ μην κάνεις echo html tags ή ξερό κείμενο με την php. Κάνει τον κώδικα δυσανάγνωστο, και κατά συνέπεια το debugging πιο κουραστικό. Τώρα μπορεί να μη βλέπεις διαφορά, αλλά στο μέλλον θα το βλέπεις ξεκάθαρα.

 

EDIT: Άλλο ένα bad practice είναι η χρήση του br tag. Ένα παράδειγμα για το πώς το script σου θα ήταν πολύ πιο τακτοποιημένο και όμορφο:

 

 

 

>

<form name="frm1" action="mailform.php" method="post" enctype="text/plain" onsubmit="return formSubmit()">

<div>
[indent=1]<label>*ONOMA:</label>[/indent]
[indent=1]<input type="text" name="fname">[/indent]
</div>
<div>
[indent=1]<label>*ΕΠΙΘΕΤΟ:</label>[/indent]
[indent=1]<input type="text" name="lname">[/indent]
</div>
<div>
[indent=1]<label>*e-mail:</label>[/indent]
[indent=1]<input type="text" name="email">[/indent]
</div>
<div>
[indent=1]<span>Φύλο:</span>[/indent]
[indent=1]<label><input type="radio" name="sex" value="male" />΄Άνδρας</label>[/indent]
[indent=1]<label><input type="radio" name="sex" value="female" />΄Γυναίκα</label>[/indent]
</div>
<div>
[indent=1]<label>ΗΜΕΡΟΜΗΝΙΑ:</label>[/indent]
[indent=1]<select name="day">[/indent]
[indent=2]<?php for ( $i = 1; $i < 32; $i++ ): ?>[/indent]
[indent=2]<option value="<?php echo $i; ?>"><?php echo $i; ?></option>[/indent]
[indent=2]<?php endfor; ?>[/indent]
[indent=1]</select>[/indent]
</div>
<div>
[indent=1]<select name="month">[/indent]
[indent=2]<option value="1">Ιανουάριος</option>[/indent]
[indent=2]<option value="2">Φεβρουάριος</option>[/indent]
[indent=2]<option value="3">Μάρτιος</option>[/indent]
[indent=2]<option value="4">Απρίλιος</option>[/indent]
[indent=2]<option value="5">Μάιος</option>[/indent]
[indent=2]<option value="6">Ιούνιος</option>[/indent]
[indent=2]<option value="7">Ιούλιος</option>[/indent]
[indent=2]<option value="8">Αύγουστος</option>[/indent]
[indent=2]<option value="9">Σεπτέμβριος</option>[/indent]
[indent=2]<option value="10">Οκτώβριος</option>[/indent]
[indent=2]<option value="11">Νοέμβρης</option>[/indent]
[indent=2]<option value="12">Δεκέμβρης</option>[/indent]
[indent=1]</select>[/indent]
[indent=1]<select name="year">[/indent]
[indent=2]<?php for ( $i = 1969; $i < date("Y"); $i++ ): ?>[/indent]
[indent=2]<option value="<?php echo $i; ?>"><?php echo $i; ?></option>[/indent]
[indent=2]<?php endfor; ?>[/indent]
[indent=1]</select>[/indent]
</div>
<div>
[indent=1]<label>MHNYMA:</label>[/indent]
[indent=1]<textarea rows="9" name="message" cols="30"></textarea>[/indent]
</div>

<div>
[indent=1]<input type="submit" value="Submit" name="submit" onclick="formSubmit()">[/indent]
</div>

</form>

 

Υπ' όψιν την inline javascript στο form tag και το input/submit tag την κράτησα μόνο και μόνο γιατί δεν είχα το περιεχόμενο της javascript σου. Αν θες να είσαι οκ, ξέχνα τα onclick/onsubmit κλπ και δήλωνε εξωτερικά αρχεία javascript. Γενικά κράτα όσο το δυνατόν πιο χώρια HTML από CSS και Javascript.

 

 

 

 

EDIT2: Ντάξει, γαμιέται ο rich text editor. Δεν κάθομαι να ξαναφτιάξω το indentation. :mad:

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...