Veo un curso de php y luego aprendo principalmente de manera práctica, por lo que mi pregunta es muy novata, no entendí por qué este código no funciona como solución para el nombre de usuario duplicado mientras me registro, y cada vez que recibo un problema con el encabezado
function signup($conn) { $uid = $_POST['uid']; $pwd = $_POST['pwd']; if (isset($_POST['signupSubmit'])) { $query = mysql_query("select * from user where uid='$uid'"); $encrypted_password = password_hash($pwd, PASSWORD_DEFAULT); if(mysql_num_rows(query)>0) { echo "<script> window.location.replace('test.php') </script>" ; } else { $sql = "insert into usi (uid, pwd) values('$uid','$encrypted_password')"; $result = $conn->query($sql); header("Location: test.php"); } } }este:
$uid = $_POST['uid']; $pwd = $_POST['pwd']; if (isset($_POST['signupSubmit'])) {debiera ser:
if (isset($_POST['signupSubmit'])) { $uid = $_POST['uid']; $pwd = $_POST['pwd'];no tengo una solución para mysql_ pero aquí hay un ejemplo de PDO que hice, espero que ayude
$dbhost = "localhost"; $dbname = "database"; $mysqlusr = "root"; $mysqlpass = ""; try { $db = new PDO("mysql:host={$dbhost};dbname={$dbname}", $mysqlusr, $mysqlpass); $db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); } catch (PDOException $e){ echo $e->getMessage(); } if(isset($_POST['signupSubmit'])){ $uid = $_POST['uid']; $pwd = $_POST['pwd']; $encrypted_password = password_hash($pwd, PASSWORD_DEFAULT); try { $sql = "SELECT uid FROM user WHERE uid=:uid"; $statement = $db->prepare($sql); $statement->bindParam(':uid', $uid, PDO::PARAM_STR); $statement->execute(); $result = $statement->fetch(PDO::FETCH_ASSOC); if (empty($result)) { try { $sql = "INSERT INTO user (uid, pwd) VALUES (:uid, :pwd)"; $statement = $db->prepare($sql); $statement->bindParam(':uid', $uid, PDO::PARAM_STR); $statement->bindParam(':pwd', $encrypted_password, PDO::PARAM_STR); $statement->execute(); echo "new user registered"; } catch (PDOException $e){ echo $e->getMessage(); } } else { echo "username already exists"; } } catch (PDOException $e){ echo $e->getMessage(); } }