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!!";
}
}
?>
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