<?php
function isbn_werify($products_isbn) {
/* WERYFIKACJA NUMERU ISBN*/
$products_isbn = trim($products_isbn); //usuwam białe znaki
if(isset($products_isbn)) { //sprawdzam czy ISBN został nadany
$checkdigit = preg_replace("/-/","",$products_isbn); // usuwam -
if (is_numeric($checkdigit)) { //sprawdzam czy to są naprawdę cyfry
if (strlen($checkdigit) == 13) { //sprawdzam czy nr ma rzeczywiście 13 cyfr
$zapytanie = "SELECT products_isbn FROM products WHERE products_isbn = ".$products_isbn.""; //pobieranie z mysql nr ISBN
$wynik = tep_db_query($zapytanie); // debilna funkcja oscommerce... ktora pobiera wynik
$czy_znalazlo = mysql_num_rows($wynik); // sprawdzam czy cos zostalo pobrane, obiektowo mozna tozroibc tak: $czy_znalazlo
= $wynik->num_rows;
if (!$czy_znalazlo) { //warunek jeżeli znalazło to jedziemy dalej z testem na sume ISBN
$isbn_test = 10
- ( ( 1
* substr($checkdigit,0
,1
) + 3
* substr($checkdigit,1
,1
) + 1
* substr($checkdigit,2
,1
) + 3
* substr($checkdigit,3
,1
) + 1
* substr($checkdigit,4
,1
) + 3
* substr($checkdigit,5
,1
) + 1
* substr($checkdigit,6
,1
) + 3
* substr($checkdigit,7
,1
) + 1
* substr($checkdigit,8
,1
) + 3
* substr($checkdigit,9
,1
) + 1
* substr($checkdigit,10
,1
) + 3
* substr($checkdigit,11
,1
) ) % 10
); //suma kontrolna nr ISBN
if (substr($checkdigit,12
,1
) === $isbn_test) { //sprawdzam czy suma ISBN zgadza się z 13 cyfrą w nr ISBN
return $res_prod["products_isbn"] = $products_isbn;
}
else {
return $error_form["products_isbn"] = "To nie jest nr ISBN, suma kontrolna sie nie zgadza";
}
}
else {
return $error_form["products_isbn"] = "Podany nr ISBN już występuje w bazie danych";
}
}
else {
return $error_form["products_isbn"] = "Podany ISBN-13 nie jest 13 cyfrowy (" . $isbn . ")";
}
}
else {
return $error_form["products_isbn"] = 'Podałeś nie prawidłowy nr <b>ISBN</b>';
}
}
else {
return $error_form["products_isbn"] = "Nr ISBN nie może być pusty. Proszę wprowadzić nr isbn";
}
/* KONIEC WERYFIKACJI NUMERU ISBN*/
}
?>
jak Wam się to widzi?