Chemical Δημοσ. 10 Μαΐου 2007 Δημοσ. 10 Μαΐου 2007 Paidia eimai se fash ekmathishs PHP sas deixnw ta eksis files: orderform.html, processorder.php start of orderform.htlm <html> <title>orderform</title> <head align="center">Bob's Apartments</head> <body> <form action="processorder.php" method="post"> <table border="0"> <tr bgcolor="#cccccc"> <td width="150">Item</td> <td width="15">Quantity</td> </tr> <tr> <td>Tires</td> <td align="center"><input type="text" name="tireqty" size="3" maxlength="3" /></td> </tr> <tr> <td>Oil</td> <td align="center"><input type="text" name="oilqty" size="3" maxlength="3" /></td> </tr> <tr> <td>Spark Plugs</td> <td align="center"><input type="text" name="sparkqty" size="3" maxlength="3" /></td> </tr> <tr> <td colspan="2" align="center"><input type="submit" value ="Submit Order" /></td> </tr> </table> </form> </body> </html> ********************************************************** end of orderform.html start of processorder.php ********************************************************** <?php // dhmiourgia " short" variable names $tireqty = $_POST['tireqty']; $oilqty = $_POST['oilqty']; $sparkqty = $_POST['sparkqty']; ?> <html> <head> <title>Bob's Auto Parts - Orer Results</title> </head> <body> <h1>Bob's Auto Parts</h1> <h2>Order Results</h2> <?php echo '<p>Order processed at '; //enarxi ths ektypwshs ths paragelias echo date('H:i, jS F'); echo '</p>'; echo '<p>Your order is as follows: </p>'; $totalqty = $tireqty + $oilqty + $sparkqty; echo 'Items ordered: '.$totalqty.'<br />'; if($totalqty==0) //Elehxos kataxwrhshs sta pedia { echo '<font color =red>'; echo 'You did not order anything on the previous page!<br />'; echo '</font>'; } else { if( $tireqty>0 ) echo $tireqty. ' tires<br />'; //to echo stelenei sto user otidhpote egrase to pedio tou $tireqty kai o'ti anagrafetai anamesa sta '.....' if($oilqty>0) echo $oilqty. ' oil<br />'; if($sparkty>0) echo $sparkqty. ' sparks plugs<br />'; } $totalamount = 0.00; //to $totalamount einai typoy float // dhmiourgia statherwn define ('TIREPRICE',100); define ('OILPRICE',10); define ('SPARKPRICE',4); $totalamount = $tireqty * TIREPRICE + $oilqty * OILPRICE + $sparkqty * SPARKPRICE; echo 'Subtotal: $'.number_format ($totalamount,2).'<br />'; $taxrate=0.18; //"topiko" posossto tou forou F.P.A $totalamount= $totalamount * (1+ $taxrate); // ypologismos mazi me F.P.A (timh * 1.18) echo 'Total price including tax: $'.number_format($totalamount,2). '<br />' ; ?> </body> </html> ********************************************************** end of processorder.php Afou ta perasete sto htdoc toy server sas tha deite mia forma paragelias; sthn opia exw valh mia domh elegxou (ekei kati den doulevei swsta); otan pataw submit afou doulepsei den mou emfanizei to trito onoma tou pediou k ta periexomena toy.ti symvainei? #Mhpws den ginetai douleia me tis If,else,ifelse? efxaristw.
xela Δημοσ. 11 Μαΐου 2007 Δημοσ. 11 Μαΐου 2007 > <?php // dhmiourgia " short" variable names $tireqty = $_POST['tireqty']; $oilqty = $_POST['oilqty']; $sparkqty = $_POST['sparkqty']; ?> <html> <head> <title>Bob's Auto Parts - Orer Results</title> </head> <body> <h1>Bob's Auto Parts</h1> <h2>Order Results</h2> <?php echo '<p>Order processed at '; //enarxi ths ektypwshs ths paragelias echo date('H:i, jS F'); echo '</p>'; echo '<p>Your order is as follows: </p>'; $totalqty = $tireqty + $oilqty + $sparkqty; echo 'Items ordered: '.$totalqty.'<br />'; if($totalqty==0) //Elehxos kataxwrhshs sta pedia { echo '<font color =red>'; echo 'You did not order anything on the previous page!<br />'; echo '</font>'; } else { if( $tireqty>0 ) echo $tireqty. ' tires<br />'; //to echo stelenei sto user //otidhpote egrase to pedio tou $tireqty kai o'ti anagrafetai anamesa sta //'.....' if($oilqty>0) echo $oilqty. ' oil<br />'; if($sparkqty>0) echo $sparkqty. ' sparks plugs<br />'; } $totalamount = 0.00; //to $totalamount einai typoy float // dhmiourgia statherwn define ('TIREPRICE',100); define ('OILPRICE',10); define ('SPARKPRICE',4); $totalamount = $tireqty * TIREPRICE + $oilqty * OILPRICE + $sparkqty * SPARKPRICE; echo 'Subtotal: $'.number_format ($totalamount,2).'<br />'; $taxrate=0.18; //"topiko" posossto tou forou F.P.A $totalamount= $totalamount * (1+ $taxrate); // ypologismos mazi me F.P.A timh * 1.1 echo 'Total price including tax: $'.number_format($totalamount,2). '<br />' ; ?> </body> </html> Ο κώδικας σου δεν είναι καθόλου σωστός. Αρχικά μην μπλέκεις php με html στην ίδια σελίδα. επίσης βάζε περισσότερα σχόλια, βάζε ονόματα που θα μπορείς να θυμάσαι εύκολα, για παράδειγμα στην γραμμή 45 έχεις βάλει το $sparkty ενώ το σωστό είναι $sparkqty. Επίσης όταν δουλεύεις με forms να ελέγχεις εάν έχει πατηθεί το button χρησιμοποιώντας τον εξής κώδικα > <?php //εάν έχεις type="submit" name="submit" θα πρέπει να γράψεις if (isset($_POST['submit'])) { εντολές } ?> Χρήσιμο είναι στο τέλος κάθε } να βάζεις #if,#while ώστε να ξέρεις που τελειώνει τι, για να ξέρεις που βρίσκεσαι. Αν δεν το έχεις κάνει ήδη να ενεργοποιήσεις τα show errors στον apache σου για να μπορείς να βλέπεις εσύ τι λάθη έχεις κάνει και να τα διορθώνεις μόνος σου. Μόνο έτσι θα μάθεις. Ελπίζω να σε βοήθησα...
Dikemou Δημοσ. 11 Μαΐου 2007 Δημοσ. 11 Μαΐου 2007 Αρχικά μην μπλέκεις php με html στην ίδια σελίδα. Αυτό γιατί όχι;
xela Δημοσ. 11 Μαΐου 2007 Δημοσ. 11 Μαΐου 2007 Γενικότερα καλό είναι να διαχωρίζουμε την σελίδα μας σε τρία επίπεδα: Data Access Layer: ώστε να περιλαμβάνει τα δεδομένα και τους τρόπους να εξαγάγουμε δεδομένα από κάποια βάση. Business Logic Layer: χειρισμός των δεδομένων, για παράδειγμα υπολογισμός κόστους εμπορευμάτων. Presentation Logic Layer: εμφάνιση των δεδομένων στην σελίδα μας. Όπως καταλαβαίνεις η PHP ανήκει, τουλάχιστον, στο Business Logic Layer ενώ η HTML στο Presentation Logic Layer.
Dikemou Δημοσ. 11 Μαΐου 2007 Δημοσ. 11 Μαΐου 2007 Στο MVC που αναφέρεσαι, οι viewers θα περιέχουν σχεδόν αναπόφευκτα κάποια κομμάτια PHP για την εμφάνιση των πληροφοριών. Σε δυναμικό site, δύσκολα θα περιέχουν αμιγώς HTML.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.