antiblock
https://i.imgur.com/aJ17bf7.gif
  • Chatbox

    Did you check out our Discord? https://discord.gg/FFdvMjk9xA
    You don't have permission to chat.
    Load More
  • 0
Display Jokes

[Duvida] Problema ao fazer registos pelo site

Question

Problema - Ao clicar no botão para registar, diz que o registo falhou e não regista.

Descrição - Ao tentar registar uma nova conta pelo site (estou a fazer por localhost por enquanto, a fazer testes), dá-me registo falhado e não regista nada na base de dados (obviamente). Queria saber o que estou a fazer de mal..

Saquei um código antigo da net que me estava a dar erros e comecei a editar até estar como está agora, queria por a funcionar a 100% para fazer algum registo pela web sem ser "à pata" pelo navicat.

Mesmo metendo os campos TODOS da tabela account e metendo dados martelados, ou seja, strings feitas por mim com os dados que eu quero ignorando o que se mete nos inputs, dá-me esse erro.

 

todos os "mysql_xxxxxx()" me estavam a dar erro tive de substituir por "mysqli_xxxx()" e corrigi os erros que me iam dando. Aqui está o estado em que estou neste momento:

 

imagem do erro

 

index.php:

<?php 
	include('config.php');
	if(isset($_POST['submit']) && $_POST['submit'] == 'Registration') {

		$connection 	= mysqli_connect("id_servidor", "root", "123");

		echo "<script>console.log( 'hellooooo' );</script>";
		$username = mysqli_real_escape_string($connection, $_POST['username']);
		$password = mysqli_real_escape_string($connection, $_POST['password']);
		$real_name = mysqli_real_escape_string($connection, $_POST['real_name']);
		$email = mysqli_real_escape_string($connection, $_POST['email']);
		$delete_id = mysqli_real_escape_string($connection, $_POST['delete_id']);
		
		$sql = "INSERT INTO account SET login = '".$username."', password = PASSWORD('".$password."'), real_name = '".$real_name."', social_id = '".$delete_id."', email = '".$email."'";
		
		$result = mysqli_query($connection, $sql);
		echo $sql;
		if($result) { echo 'Registration Successfull!'; } else { echo 'Registration Failed!'; }
	}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Registo</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="description" content="Registration" />
<meta name="keywords" content="some, keywords, comes, later" />
<meta name="language" content="en" />
<meta name="robots" content="index,follow" />
<meta name="author" content="S3cr3t" />
<meta name="revisit-After" content="5 days" />
<meta name="distribution" content="local" />
<style type="text/css">
<!--
body 		{ background-image: url(wallpaper.jpg); color:#FF0; font:bold 8pt Verdana,Arial,Helvetica,sans-serif; }
#container	{ margin:40px auto; width:750px; overflow:hidden; }
#text 		{ padding:5px; }
#text ul 	{ padding:0px; margin-left:15px; }
#text li 	{ display:block; }
#left 		{ float:left; }
#right 		{ float:right; margin-right:15px; }
!-->
</style>
<script type="text/javascript">
if (top.frames.length != 0)
	top.location=self.location;
</script>
</head>
<body>
	<div id="container">
		<div id="text">
			<form action="index.php" method="post">
				<ul>
					<li>User:</li>
					<li><input type="text" name="username" size="60" /></li>
					<li>&nbsp;</li>
					<li>Password:</li>
					<li><input type="password" name="password" size="60" /></li>
					<li>&nbsp;</li>
					<li>Real Name:</li>
					<li><input type="text" name="real_name" size="60" /></li>
					<li>&nbsp;</li>
					<li>Character Delete Code(7 Characters):</li>
					<li><input type="text" name="delete_id" size="60" /></li>
					<li>&nbsp;</li>
					<li>E-Mail:</li>
					<li><input type="text" name="email" size="60" /></li>
					<li>&nbsp;</li>
					<li><input type="submit" name="submit" value="Registration" /></li>
				</ul>
			</form>
		</div>
	</div>
</body>
</html>

config.php:

 

<?php 
	/*
	|-------------------------------------------------------------------
	| Datenbank Connection Details
	|-------------------------------------------------------------------
	*/
		$mysql_host 	= "id_servidor";
		$mysql_user 	= "root";
		$mysql_pass 	= "123";
		$mysql_db	= "account";
	/*
	|-------------------------------------------------------------------
	| Datenbank Verbindung herstellen
	|-------------------------------------------------------------------
	*/	
		mysqli_connect($mysql_host, $mysql_user, $mysql_pass) OR
		die("Es konnte keine Verbindung zur Datenbank hergestellt werden.<br /> Fehlermeldung: ".mysqli_error(mysqli_connect($mysql_host, $mysql_user, $mysql_pass)));	
		
		mysqli_select_db(mysqli_connect($mysql_host, $mysql_user, $mysql_pass), $mysql_db) OR
		die("Die Datenbank konnte nicht benutzt werden.<br /> Fehlermeldung: ".mysqli_error(mysqli_connect($mysql_host, $mysql_user, $mysql_pass)));
?>

 

Share this post


Link to post
Share on other sites

4 answers to this question

  • 0

Básicamente resolveste-me o mistério ao dizer-me que dá para meter ali um console do erro hehe

 

Se alguém apanhar o mesmo erro que eu tive, ou só mesmo para saberem:

 

Solução:

    adicionar:  mysqli_select_db($connection, "(nome da base de dados a usar, no meu caso era 'account' ");

 

Aqui está uma imagem da base de dados:

imagem da base de dados

 

Tem várias base de dados dentro da "mesma" ou seja, tem várias base de dados numa só? É qualquer coisa assim parecida. E eu tinha de selecionar a base de dados "account" e adicionar à tabela "account" dentro da base de dados "account".

Pode parecer confuso mas já percebi.

 

Obrigado!

 

 

Edit:

Só para ficar como prova/amostra aqui está o registo feito com sucesso na BD:

print da BD da tabela das contas

Edited by TabLegend (see edit history)

Share this post


Link to post
Share on other sites
antiblock
Rodnia | Alpha & Omega
  • 0

No else onde tens o registo falhado mete 

die(mysqli_error($connection)) e mete aqui o erro sf

Edited by OnlZ (see edit history)

Share this post


Link to post
Share on other sites
  • 0
14 minutes ago, OnlZ said:

No else onde tens o registo falhado mete 

die(mysqli_error($connection)) e mete aqui o erro sf

Deu-me No database selected:

 

print aqui

 

 

EDIT:

adicionei:
        mysqli_select_db($connection, "account");

por baixo da $connection e já me está a dar outros erros. Vou corrigir e já digo o que deu. Obrigado por essa diga do print do erro. Não sabia que dava assim hehe

Edited by TabLegend (see edit history)

Share this post


Link to post
Share on other sites
  • 0

A base de dados chama-se 'Account' ?

 

Porque da maneira que tas a fazer é inserir dados numa tabela account que está dentro de uma base de dados com o nome Account.

 

Provavelmente o nome da tua base de dados e diferente.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now