Por que meu código PHP não está funcionando?


Melhor resposta

Primeiras coisas primeiro…

Nunca passe dados fornecidos pelo usuário diretamente para o banco de dados. Nunca há um motivo para isso ser uma boa ideia.

$name = mysqli\_real\_escape\_string($mysqli, $\_POST["name"]);

$pass = mysqli\_real\_escape\_string($mysqli, $\_POST["password"]);

Usar real\_escape\_string() evitará que seu script seja hackeado com uma injeção de SQL. Se precisar usar os valores em outro lugar, você pode escapar dele quando criar sua consulta.

$name = $\_POST["name"];

$sql = "SELECT * FROM users WHERE username = "".mysqli\_real\_escape\_string($mysqli, $name).""";

Faça algo semelhante sempre que criar uma consulta SQL. Sua INSERT consulta deve ter valores de escape também, escapando do valor armazenado na variável ou escapando quando você cria a consulta.

Por que você está vendo “bom trabalho” sem inserir dados…

Você nunca tem certeza de que realmente existe é entrada. Seu script tentará interagir com o banco de dados mesmo que o usuário ainda não tenha preenchido o formulário.

if(isset($\_POST["username"]) && isset($\_POST["password")) {

// put the rest of your script here

}

?>

Por que nenhum registro de banco de dados está sendo criado.

Hmm… Não tenho certeza. Especialmente porque diz que funcionou .

Tente fazer as alterações acima e poste um comentário sobre esta resposta para me informar se há uma mudança e o que é essa mudança e podemos prosseguir a partir daí.

Verifique também os logs do servidor para ver se há algum erro. Se você não pode fazer isso ou os erros estão desabilitados, você pode tentar adicionar isto no topo do seu script:

ini\_set("error\_reporting", E\_ALL);

ini\_set("html\_errors", true);

ini\_set("display\_errors", "stdout");

A propósito…

Os atributos de seus rótulos for devem apontar para o ID de um elemento.

Você tem…

Você deveria ...

Resposta

php

$ host = "AAAAAA"; $ user = "AAAAA"; $ pass = "AAAAAA"; $ db = "AAAAA";

$ connect = mssql\_connect ($ host, $ user, $ pass) ou die ("Não foi possível conectar"); $ database = mssql\_select\_db ($ db, $ connect) ou die ("Não foi possível conectar ao banco de dados selecionado");

if (isset ($ \_POST (["enviar"]))) {$ email = S\_POST ["email"]; $ firstname = S\_POST ["firstname"]; $ lastname = S\_POST ["lastname"]; $ pwd = S\_POST ["pwd"];

if trim($firstname) == "" || trim($lastname)=="" || trim($pwd)== ""

{

echo "You must enter both a firstname, lastname and password!!";

}

else

{

$sql = "INSERT INTO users ([email],[first\_name],[last\_name],[password])VALUES("$email","$firstname","$lastname","$pwd")";

$result = mssql\_query($sql);

if(!$result)

{

echo mssql\_error();

exit;

}

mssql\_free\_result($result);

mssql\_close();

echo "Data successfully inserted!!";

}

}

Email:
Nome:
Sobrenome:
Senha:
nput type = "submit" name = "submit" value = "Register"

?>

então o php co de que eu lhe dei originalmente era apenas um exemplo, mesmo um código de eco simples não está funcionando. Bem, eu tenho escrito o código no notepad ++ e carrego-o colando o código no kompozer. Veja que me disseram que ele deve ser carregado com a extensão .php em vez de hmtl e essa é a razão pela qual não está funcionando. mas acho isso confuso, então como faço para anexá-lo a um determinado link na minha página de índice. pls conselhos e deixe-me saber o que você pensa. agradeço

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *