უკვე მაგარი იზმენა ავიკიდე
აი იდეაც კი აღარ დამრჩა რისი ბრალი შეიძლება იყოს
* * *
კოდში ჩავამატე მარკერები. როდესაც ფუნქციის გარეშე ვუშვებ კოდს და შემყავს არსებული ჩანაწერი:
<?php
echo 'marker1<br>';
$db=getDB();
echo 'marker2<br>';
if(isset($_POST['registration'])){
$user_name=htmlspecialchars(trim($_POST['user_name']));
$user_surname=htmlspecialchars(trim($_POST['user_surname']));
$user_nick=htmlspecialchars(trim($_POST['user_nick']));
$user_mail=trim($_POST['user_mail']);
$user_password=trim($_POST['user_password']);
$passcheck=$_POST['passcheck'];
$user_password=md5($user_password.SECRET_KEY);
$table='user';
$field='user_mail';
$value=$user_mail;
echo 'marker3<br>';
//functi0n f_count($db, $table, $field, $value){
$statement = $db->prepare("SELECT * FROM `$table` WHERE `$field`=:value");
$statement->bindValue(':value', $value, PDO::PARAM_STR);
$statement->execute();
$count = $statement->rowCount();
//return ($count);
//}
echo 'marker4<br>';
echo 'count=',$count,'<br>';
//echo(f_count($db, $table, $field, $value));
}
echo 'marker5<br>';
?>
შედეგია:
marker1
marker2
marker3
marker4
count=1
marker5
ხოლო როცა იგივეს ვშვრები ფუნქციით:
<?php
echo 'marker1<br>';
$db=getDB();
echo 'marker2<br>';
if(isset($_POST['registration'])){
$user_name=htmlspecialchars(trim($_POST['user_name']));
$user_surname=htmlspecialchars(trim($_POST['user_surname']));
$user_nick=htmlspecialchars(trim($_POST['user_nick']));
$user_mail=trim($_POST['user_mail']);
$user_password=trim($_POST['user_password']);
$passcheck=$_POST['passcheck'];
$user_password=md5($user_password.SECRET_KEY);
$table='user';
$field='user_mail';
$value=$user_mail;
echo 'marker3<br>';
functi0n f_count($db, $table, $field, $value){
$statement = $db->prepare("SELECT * FROM `$table` WHERE `$field`=:value");
$statement->bindValue(':value', $value, PDO::PARAM_STR);
$statement->execute();
$count = $statement->rowCount();
return ($count);
}
echo 'marker4<br>';
//echo 'count=',$count,'<br>';
echo (f_count($db, $table, $field, $value));
}
echo 'marker5<br>';
?>
შედეგია:
marker1
marker2
marker3
ანუ ფუნქცია f_count-ის აღწერამდე მიდის და იქ იჭედება
შესაბამისად აი ამ მონაკვეთში მაქვს შეცდომა, მაგრამ რა ვერ ვხვდები
functi0n f_count($db, $table, $field, $value){
$statement = $db->prepare("SELECT * FROM `$table` WHERE `$field`=:value");
$statement->bindValue(':value', $value, PDO::PARAM_STR);
$statement->execute();
$count = $statement->rowCount();
return ($count);
}