2013-08-31 3 views
0

Je veux obtenir une entrée d'un formulaire et l'enregistrer dans un tableau php et imprimer le tableau.Il y a deux fichiers à savoir array.php et marks.php.Je pense que je suis en désordre statique .Aidez-moi, s'il vous plaît!obtenir la sortie de ce code php

marks.php

<style type="text/css"> 
.my_table{ 
margin-top:150px; 
margin-left:400px; 
} 
</style> 
<?php 
if(!isset($_POST['send'])){ 
?> 
<table align='center' class='my_table'> 
<form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>"> 
<tr><th></th><th align='left'>Student Marks</th></tr> 
<tr><td>enter subject</td><td><input type='text' name='subject'></td></tr> 
<tr><td>enter marks</td><td><input type='text' name='marks'></td></tr> 
<tr><td colspan='2' align='right'><input type='submit' value='submit' name='send'/>  </td></tr> 
</form> 
</table> 
<?php 
} 
else{ 
    include 'array.php'; 
    $svtoarray=new SaveMarks(); 
$svtoarray->addToArray($_POST['marks']); 
    $svtoarray->printArray(); 
    } 
?> 

array.php

<?php 
class SaveMarks{ 
static $index=0; 
function SaveMarks(){ 
    } 
static $marks=array(); 
function addToArray($value){ 
    $marks[$index]=$value; 
    $index++; 
    } 

function printArray(){ 
    $countarr=count($marks); 
    for($ind=0;$ind<$countarr;$ind++){ 
     print $marks[ind]; 
     } 
    } 
} 

?> 
+0

$ _POST est en soi un tableau. Pourquoi toutes les choses compliquées? Je pense –

+0

'

' 'est mieux que
'. (Juste un sentiment: p) – Mageek

Répondre

0

déclarant un membre de la classe (méthode ou propriété) signifie que la valeur est accessible directement à partir de la définition de classe et fait pas besoin d'être instancié. Inversement, un membre statique ne peut pas être accédé à partir d'une instanciation. dire becuase vous avez déclaré index et des marques comme statiques

SaveMarks :: $ index ou SaveMarks :: marques $ est correct

mais $ svtoarray = new SaveMarks(); $ svtoarray-> Index et svttoarray- $> marques ne sont pas d'accord

Voir PHP manual for static keyword

Au lieu de « statique », vous devez les déclarer comme « public » d'être accessible à partir de l'objet instancié. Une implémentation plus "pure" consisterait à déclarer des marques comme privées et à définir une méthode publique "setMarks" plutôt que de permettre la modification directe d'une propriété.