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

SOME HELP HERE"Valte kana xeraki paidia!!!"


Chemical

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

Δημοσ.

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.

Δημοσ.

>
<?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 σου για να μπορείς να βλέπεις εσύ τι λάθη έχεις κάνει και να τα διορθώνεις μόνος σου. Μόνο έτσι θα μάθεις.

 

Ελπίζω να σε βοήθησα...

Δημοσ.

Γενικότερα καλό είναι να διαχωρίζουμε την σελίδα μας σε τρία επίπεδα:

Data Access Layer: ώστε να περιλαμβάνει τα δεδομένα και τους τρόπους να εξαγάγουμε δεδομένα από κάποια βάση.

Business Logic Layer: χειρισμός των δεδομένων, για παράδειγμα υπολογισμός κόστους εμπορευμάτων.

Presentation Logic Layer: εμφάνιση των δεδομένων στην σελίδα μας.

 

Όπως καταλαβαίνεις η PHP ανήκει, τουλάχιστον, στο Business Logic Layer ενώ η HTML στο Presentation Logic Layer.

Δημοσ.

Στο MVC που αναφέρεσαι, οι viewers θα περιέχουν σχεδόν αναπόφευκτα κάποια κομμάτια PHP για την εμφάνιση των πληροφοριών. Σε δυναμικό site, δύσκολα θα περιέχουν αμιγώς HTML.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...