mam pewien problem. Posiadam skrypt pobierania za sms i jest w nim jeden problem. Gdy ktoś wyśle sms to normalnie przychodzi do niego kod zwrotny, który musi wpisać na stronie. Lecz przy wpisywaniu od razu po zatwierdzeniu oznacza go jako błędy kod dostępu. Sprawdzając w bazie kod zostaje oznaczony jako wykorzystany. Najdziwniejsze jest to, że u większości wszystko działa poprawnie i można pobrać dany plik.
function check_code($code) { $res = database_query("SELECT msg_id FROM messages WHERE msg_code = '$code'"); if(database_error()) { exit; } if(database_next_row($res)) return false; return true; }
//wygeneruj kod, sprawdz, czy jest unikalny. $code = code_generate($config_code_length); while(!check_code($code)) $code = code_generate($config_code_length); //zapisz kod, nowa wiadomosc w bazie danych database_query("INSERT INTO messages(msg_orig,msg_dest,msg_text,msg_code,msg_smsid,msg_code_value) VALUES ('$_sms_orig','$_sms_dest','$_sms_msg','$code',$_sms_id,".sms_value($_sms_dest).")"); if(database_error()) { exit; }
oraz plik codecheck.inc
function code_check($_code) { $res = database_query("SELECT * FROM messages WHERE msg_code = '".database_escape_string($_code)."' AND msg_tm > '".$codeDate."' AND msg_code_used IS NULL"); if(database_error()) return false; $row = database_next_row($res); if(!$row) { } return Array("code"=>$row["msg_id"], "value"=> $row["msg_code_value"], "sms_text"=> $row["msg_text"]); }