Updade:
Хорошо, поэтому я исправил свою предыдущую проблему (кроме SQLinjection, которую я не уверен, как исправлять, но пока это неважно), однако мне нужно заставить его обнаружить Male или Female и вырезать из него некоторые символы … Это это код, который я сделал для этого
Здесь я определил переменную:
$gender = $response["registration"]["gender"];
Затем я определил newgender здесь
$new_gender = "F";
Однако затем я добавил оператор if, который должен был определить, был ли он Мужской и изменить его на «M»,
if($gender == "Male"){ $new_gender = "M"; }
Код, кажется, просто игнорирует оператор if, поскольку он всегда отображается как F для женщин. (Мне нужен код таким образом или аналогичная альтернатива, потому что так, как работает база данных sql, она должна быть длиной 1 букву, только для M или F.
Моя вторая проблема заключается в том, что зарегистрированное время отображается в БД, но если кто-то может решить эту проблему, я сначала обновлю ее с моей другой проблемой.
Большое спасибо,
Я пытался это сделать, когда пользователь нажимает на регистрацию в facebook, он добавляет туда информацию в мою базу данных. Я получаю сообщение об ошибке, но не уверен, что делать … Вот код, пожалуйста, помогите мне любым способом.
<?php define('FACEBOOK_APP_ID', '276105599128518'); define('FACEBOOK_SECRET', 'mysecretappidhere'); function parse_signed_request($signed_request, $secret) { list($encoded_sig, $payload) = explode('.', $signed_request, 2); // decode the data $sig = base64_url_decode($encoded_sig); $data = json_decode(base64_url_decode($payload), true); if (strtoupper($data['algorithm']) !== 'HMAC-SHA256') { error_log('Unknown algorithm. Expected HMAC-SHA256'); return null; } // check sig $expected_sig = hash_hmac('sha256', $payload, $secret, $raw = true); if ($sig !== $expected_sig) { error_log('Bad Signed JSON signature!'); return null; } return $data; } function base64_url_decode($input) { return base64_decode(strtr($input, '-_', '+/')); } if ($_REQUEST) { echo '<p>signed_request contents:</p>'; $response = parse_signed_request($_REQUEST['signed_request'], FACEBOOK_SECRET); //$no_longer_needed_but_save_for_backup = explode(' ',$name,2); //$dunno = $name_arr[0]; //$dunno = isset($name_arr[1])?$name_arr[1]:''; //$Location_Array = $response["registration"]["location"]["name"]; $uname = $response["registration"]["username"]; $rname = $response["registration"]["name"]; $seckey = $response["registration"]["seckey"]; $email = $response["registration"]["email"]; $password = $response["registration"]["password"]; $gender = $response["registration"]["gender"]; $ip_last = $_SERVER['REMOTE_ADDR']; $sessionKey = 'RevCMS-'.rand(9,999).'/'.substr(sha1(time()).'/'.rand(9,9999999).'/'.rand(9,9999999).'/'.rand(9,9999999),0,33); // Connecting to database mysql_connect('localhost', 'root', 'mypasswouldbehere') or die("MySQL Error: " . mysql_error()); mysql_select_db('phoenix3') or die("MySQL Error: " . mysql_error()); // Inserting into users table $result = mysql_query("INSERT INTO users (id, username, real_name, password, mail, auth_ticket, rank, credits, vip_points, activity_points, activity_points_lastupdate, look, gender, motto, acount_created, last_online, online, ip_last, ip_reg, home_room, respect, daily_respect_points, daily_pet_respect_points, newbie_status, is_muted, mutant_penalty, mutant_penalty_expire, block_newfriends, hide_online, hide_inroom, mail_verified, vip, volume, seckey) VALUES (NULL, '$uname', '$rname', '$password', '$email', '$sessionKey','8', '10000', '0', '0', '0', '-', '$gender', 'I <3 Tropical-Resort', 'time()', ' . time() . ', '0', '$ip_last', '$ip_last', '8', '0', '3', '3', '0', '0', '0', '0', '0', '0', '0', '1', '0', '100', '$seckey')"); if($result){ echo"should/'ve stored"; // GOT RESULTS } else { echo "error"; // Error in storing } } else { echo '$_REQUEST is empty'; } ?>
Твой, Брэд
ceejayoz исправил проблему, повторив echo mysql_error();
решает проблему, поскольку она сообщает вам ВСЕ проблемы mysql, которые у вас есть. Чтобы исправить гендерный вопрос, который мне нужен, чтобы сократить его от Male до «M» или «Female» до «F», просто используйте PHP-субстрат, поэтому пример …
$gender = substr("$fbgender", -4, 1);
Спасибо всем, кто помог, -Брад