Witam. Otóż mam mały problem ze zrobieniem takiego generatora. Podaje kod poniżej, wydaje mi się, że moja funkcja liczy źle modulo : / Jak ustawie w funkcji zamiast $num $acc to jaki numer konta nie podam to ciągle wylicza sumę kontrolną 98. Zaznaczam, że dopiero uczę się programowania w php (jestem testerem i dostałem takie zadanie domowe od programistów php)
<?php
$n_acc = (string)$_POST["n_acc"];
$acc = $n_acc."252100";
{
echo "Numer konta jest za krotki lub za dlugi. Podaj 20 cyfr."; } else {
function mod ($num)
{
$acc = $n_acc."252100";
for ($i=0; $i<strlen($num);$i++)
{
$CheckSum = "";
$CheckSum .= $num[$i];
$CheckSum = (string)((int)$CheckSum%97);
}
if ($CheckSum < 10)
{
$CheckSum = "0".$CheckSum;
}
return $CheckSum;
}
$CheckSum = mod($n_acc);
$CheckSum = 98 - (int)$CheckSum;
echo "Podany numer konta : ", wordwrap($acc, 4, " ", 1),"<br>"; echo "Suma kontrolna : ".$CheckSum."<br>";
$CheckAcc = $n_acc."2521".$CheckSum;
$Check = mod($CheckAcc);
echo "Sprawdzanie : ".$Check."<br>";
if ($Check == 1)
{
echo "Suma kontrolna prawidlowa.<br>"; } else {
echo "Suma kontrolna nieprawidlowa.<br>" ; }
$Account = $CheckSum." ".$acc;
echo "Numer konta z suma kontrolna : ", wordwrap($Account, 4, " ", 1),"<br>"; }
?>
Tutaj podaje do html'a kod jakby ktoś potrzebował.
<form action ="Nowy2.php" method ="POST">
<h3> Wpisz 20 cyfrowy numer konta
</h3>
<input type="submit" value="Generuj"> <br>
Ten post edytował Durkane 28.07.2015, 12:20:00