Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno MySQL - How to?

Zdravím, programujem svoj web, a snažím sa dajako urobiť login / register systém. Nepíše mi to nikde žiadnu chybu, skrátka to nevytvára nových užívateľov do databáze,

Kód


<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta charset="utf-8" />
	<meta name="viewport" content="width=device-width, initial-scale=1.0" />
	<title>Admin Panel &copy; <?php $date = date("Y"); echo "$date"; ?></title>
	<!-- BOOTSTRAP STYLES-->
	<link href="assets/css/bootstrap.css" rel="stylesheet" />
	<!-- FONTAWESOME STYLES-->
	<link href="assets/css/font-awesome.css" rel="stylesheet" />
	<!-- CUSTOM STYLES-->
	<link href="assets/css/custom.css" rel="stylesheet" />
	<!-- GOOGLE FONTS-->
	<link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css' />
</head>
<body>
	<div id="wrapper">
		<div class="navbar navbar-inverse navbar-fixed-top">
			<div class="adjust-nav">
				<div class="navbar-header">
					<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".sidebar-collapse">
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
					</button>
				</div>
				
				<span class="logout-spn" >
					<a href="#" style="color:#fff;">PRIHLÁSIŤ SA</a>  
				</span>
			</div>
		</div>
		<!-- /. NAV TOP  -->
		<nav class="navbar-default navbar-side" role="navigation">
			<div class="sidebar-collapse">
				<ul class="nav" id="main-menu">
					
					<li>
						<a href="login.php">Prihlásiť sa</a>
					</li>
					
					<li class="active-link">
						<a href="register.php">Registrácia</a>
					</li>
				</ul>
			</div>
		</nav>
		<!-- /. NAV SIDE  -->
		<div id="page-wrapper" >
			<div id="page-inner">
				<div class="row">
					<div class="col-md-12">
						<h2>ZAREGISTROVAŤ SA</h2>   
					</div>
				</div>              
				<!-- /. ROW  -->
				<hr />
				<center>
					<form action="#" method="post">
						Nickname: <sup style="color: #FF0000;">Required!</sup> <input type="text" name="nickname" pattern="[a-zA-Z0-9]+" class="form-control" required=""><br><br>

						Heslo: <sup style="color: #FF0000;">Required!</sup> <input type="password" name="pwd1" class="form-control" required=""><br><br>

						Heslo znovu: <sup style="color: #FF0000;">Required!</sup> <input type="password" name="pwd2" class="form-control" required=""><br><br>

						E-mail: <sup style="color: #FF0000;">Required!</sup> <input type="email" name="email" class="form-control" required=""><br><br>

						ANTI-SPAM <sup style="color: #FF0000;">Zadajte aktuálny rok</sup> <input type="text" name="rok" pattern="[0-9]+" required=""><br><br>

						<input type="submit" value="Vytvoriť účet" name="submitForm" class="btn btn-success"><br><br>

						<?php
							$rok = date("Y");
							$nickname = $_POST['nickname'];
							$pwd1 = md5($_POST['pwd1']);
							$pwd2 = md5($_POST['pwd2']);
							$mail = $_POST['email'];
							$antispam = $_POST['rok'];
							$submit = $_POST['submitForm'];
							$existujen = mysql_query('SELECT COUNT(*) FROM users WHERE nickname=? LIMIT 1', $_POST['nickname']);
							$existujem = mysql_query('SELECT COUNT(*) FROM users WHERE email=? LIMIT 1', $_POST['email']);

							if (isset($submit)) {
								$mysql_server = "localhost";
								$mysql_user = "root";
								$mysql_password = "Nemusíš Vedieť :)";
								$mysql_db = "newdbtest";
								$mysqli = new mysqli($mysql_server, $mysql_user, $mysql_password, $mysql_db);
								if ($mysqli->connect_errno) {
									printf("Connection failed: %s \n", $mysqli->connect_error);
									exit();
								}
								$mysqli->set_charset("utf8");

								if ($pwd1 == $pwd2) {
									if ($antispam == $rok) {
										if ($existujen) {
											echo "Užívateľ s týmto nick-om už existuje!";
										} else {
											if ($existujem) {
												echo "Užívateľ s týmto e-mail-om už existuje!";
											} else {
												mysql_query('INSERT INTO users (nickname, password, mail) VALUES ($nickname, $pwd1, $mail)');
												$_SESSION['nickname'] = $nickname;
												echo "Váš účet bol vytvorený! Môžete sa <a href=\"login.php\">prihlásiť</a>.";
											}
										}
									} else {
										echo "CHYBA: Zle vyplnený anti-spam!";
										header("refresh:3; url=register.php");
									}
								} else {
									echo "CHYBA: Heslá nesúhlasia!";
									header("refresh:3; url=register.php");
								}
							}
						?>
					</form>
				</center>
				<!-- /. ROW  -->           
			</div>
			<!-- /. PAGE INNER  -->
		</div>
		<!-- /. PAGE WRAPPER  -->
	</div>
	<div class="footer">
		
		<div class="row">
			<div id="col-lg-12">
				&copy; <?php echo "$date"; ?> By RayCodeUwU | Všetky práva vyhradené!
			</div>
		</div>
	</div>
	
	<!-- /. WRAPPER  -->
	<!-- SCRIPTS -AT THE BOTOM TO REDUCE THE LOAD TIME-->
	<!-- JQUERY SCRIPTS -->
	<script src="assets/js/jquery-1.10.2.js"></script>
	<!-- BOOTSTRAP SCRIPTS -->
	<script src="assets/js/bootstrap.min.js"></script>
	<!-- CUSTOM SCRIPTS -->
	<script src="assets/js/custom.js"></script>
</body>
</html>

Viem, že pre niektoré oči tento kód nie je najlepšie napísaný, ale zamerajme sa prosím na hlavný problém -> Teda, prečo nefunguje tvorba users do databáze.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Tak som popozeral rôzne návody na internete, aj na YouTube, aj stránky ako je táto (https://mujskrip…
MrGoldon 28.06.2020 23:44
MrGoldon
Toto fakt už není možné. Ty to sem chceš zkopírovat??? Takže ctrl+c a ctrl+v z toho odkazu, co jsem…
kacikac 28.06.2020 23:52
kacikac
Nech sa páči -> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="…
MrGoldon 29.06.2020 00:04
MrGoldon
Tak si ten tvůj kód projdi několikrát a pokud budeš u toho i myslet, tak na to přijdeš, proč ti to n…
kacikac 29.06.2020 00:23
kacikac
Budeš taký dobrý a napíšeš kde je chyba? Konkrétne?
MrGoldon 29.06.2020 00:31
MrGoldon
Těch chyb tam bude mraky, ale ta, co řešíme teď (ověření jestli existuje mail/nickname) tak to podle…
kacikac 29.06.2020 00:34
kacikac
Funguje, ďakujem :). poslední
MrGoldon 29.06.2020 12:52
MrGoldon

Toto fakt už není možné.
Ty to sem chceš zkopírovat???
Takže ctrl+c a ctrl+v z toho odkazu, co jsem tu dal:

$query = mysqli_query($con, "SELECT * FROM emails WHERE email='".$email."'");

if (!$query)
    {
        die('Error: ' . mysqli_error($con));
    }

if(mysqli_num_rows($query) > 0){

    echo "email already exists";

}else{

    // do something

}

Nech sa páči ->


<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta charset="utf-8" />
	<meta name="viewport" content="width=device-width, initial-scale=1.0" />
	<title>Admin Panel &copy; <?php $date = date("Y"); echo "$date"; ?></title>
	<!-- BOOTSTRAP STYLES-->
	<link href="assets/css/bootstrap.css" rel="stylesheet" />
	<!-- FONTAWESOME STYLES-->
	<link href="assets/css/font-awesome.css" rel="stylesheet" />
	<!-- CUSTOM STYLES-->
	<link href="assets/css/custom.css" rel="stylesheet" />
	<!-- GOOGLE FONTS-->
	<link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css' />
</head>
<body>
	<div id="wrapper">
		<div class="navbar navbar-inverse navbar-fixed-top">
			<div class="adjust-nav">
				<div class="navbar-header">
					<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".sidebar-collapse">
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
						<span class="icon-bar"></span>
					</button>
				</div>
				
				<span class="logout-spn" >
					<a href="#" style="color:#fff;">PRIHLÁSIŤ SA</a>  
				</span>
			</div>
		</div>
		<!-- /. NAV TOP  -->
		<nav class="navbar-default navbar-side" role="navigation">
			<div class="sidebar-collapse">
				<ul class="nav" id="main-menu">
					
					<li>
						<a href="login.php">Prihlásiť sa</a>
					</li>
					
					<li class="active-link">
						<a href="register.php">Registrácia</a>
					</li>
				</ul>
			</div>
		</nav>
		<!-- /. NAV SIDE  -->
		<div id="page-wrapper" >
			<div id="page-inner">
				<div class="row">
					<div class="col-md-12">
						<h2>ZAREGISTROVAŤ SA</h2>   
					</div>
				</div>              
				<!-- /. ROW  -->
				<hr />
				<center>
					<form action="#" method="post">
						Username: <sup style="color: #FF0000;">Required!</sup> <input type="text" name="nickname" pattern="[a-zA-Z0-9]+" class="form-control" required=""><br>

						Heslo: <sup style="color: #FF0000;">Required!</sup> <input type="password" name="pwd1" class="form-control" required=""><br>

						Heslo znovu: <sup style="color: #FF0000;">Required!</sup> <input type="password" name="pwd2" class="form-control" required=""><br>

						E-mail: <sup style="color: #FF0000;">Required!</sup> <input type="email" name="email" class="form-control" required=""><br>

						ANTI-SPAM <sup style="color: #FF0000;">Zadajte aktuálny rok</sup> <input type="text" name="rok" pattern="[0-9]+" class="form-control" required=""><br>

						<input type="submit" value="Vytvoriť účet" name="submitForm" class="btn btn-success"><br><br>

						<?php
							$nickname = $_POST['nickname'];
							$pwd1 = md5($_POST['pwd1']);
							$pwd2 = md5($_POST['pwd2']);
							$mail = $_POST['email'];
							$antispam = $_POST['rok'];
							$submit = $_POST['submitForm'];
							
							$existujen = mysqli_query($mysqli, "SELECT * FROM users WHERE nickname='".$nickname."'");

							if (isset($submit)) {
								$mysql_server = "localhost";
								$mysql_user = "root";
								$mysql_password = "NoNE";
								$mysql_db = "newdb";
								$mysqli = new mysqli($mysql_server, $mysql_user, $mysql_password, $mysql_db);
								if ($mysqli->connect_errno) {
									printf("Connection failed: %s \n", $mysqli->connect_error);
									exit();
								}
								$mysqli->set_charset("utf8");

								if ($pwd1 == $pwd2) {
									if ($antispam == date("Y")) {
										if (mysqli_num_rows($existujen) > 0) {
											echo "Užívateľ s týmto nick-om už existuje!";
										} else {
											if ($existujem) {
												echo "Užívateľ s týmto e-mail-om už existuje!";
											} else {
												mysqli_query($mysqli, "INSERT INTO users (nickname, password, mail) VALUES ('$nickname', '$pwd1', '$mail')");
												$_SESSION['nickname'] = $nickname;
												echo "Váš účet bol vytvorený! Môžete sa <a href=\"login.php\">prihlásiť</a>.";
												header("refresh:3; url=register.php");
											}
										}
									} else {
										echo "CHYBA: Zle vyplnený anti-spam!";
										header("refresh:3; url=register.php");
									}
								} else {
									echo "CHYBA: Heslá nesúhlasia!";
									header("refresh:3; url=register.php");
								}
							}
						?>
					</form>
				</center>
				<!-- /. ROW  -->           
			</div>
			<!-- /. PAGE INNER  -->
		</div>
		<!-- /. PAGE WRAPPER  -->
	</div>
	<div class="footer">
		
		<div class="row">
			<div id="col-lg-12">
				&copy; <?php echo "$date"; ?> By RayCodeUwU | Všetky práva vyhradené!
			</div>
		</div>
	</div>
	
	<!-- /. WRAPPER  -->
	<!-- SCRIPTS -AT THE BOTOM TO REDUCE THE LOAD TIME-->
	<!-- JQUERY SCRIPTS -->
	<script src="assets/js/jquery-1.10.2.js"></script>
	<!-- BOOTSTRAP SCRIPTS -->
	<script src="assets/js/bootstrap.min.js"></script>
	<!-- CUSTOM SCRIPTS -->
	<script src="assets/js/custom.js"></script>
</body>
</html>

Vyskúšaj si to skopírovať do svojho .php súboru, a pokiaľ ti to pôjde bez problémov, tak mám asi pokazené VPS... Lebo mne to skrátka stále nejde.

Těch chyb tam bude mraky, ale ta, co řešíme teď (ověření jestli existuje mail/nickname) tak to podle mě v první řadě nefunguje proto, protože nejdřív máš dotaz na databázi (query) a teprve potom jsi vytvořil připojení $mysqli a ve druhé řadě být tebou tak se mrknu jak se připojuje do databáze (mysqli objektově vs mysqli procedurálně) a ve třetí řadě co to je ks**** za kód, proč nezkopneš nějaký už udělaný z netu?

Zpět do poradny Odpovědět na původní otázku Nahoru