webForumDet fria alternativet

om namn redan finns i databas

PHP

5 svar · 272 visningar · startad av silfver

Medlem sedan apr. 200312 679 inlägg
Frågan#1

Hej!

Jag har precis fått iordning på scriptet som lägger till en användare i databasen. Men hur ska man göra så att den inte skapar dubletter? Jag har ingen aning om hur jag gör, så hoppas det är enkelt!

<?php
if(isset($_POST['spara']))

{
$lank = mysql_connect ("localhost", "xxxx","xxxx");
$databas = mysql_select_db("xxxx");
$sql = "INSERT INTO admin (aduser,adpass,adname,ademail) VALUES('$_POST[aduser]','$_POST[adpass]','$_POST[adname]','$_POST[ademail]')";
mysql_query($sql);
mysql_close ($lank);
echo "<p>";
echo $_POST[aduser] . " har lagts till i databasen.</p>";
}
?>

Mvh,
silfver

Medlem sedan juni 2002346 inlägg
#2
$query = "SELECT aduser FROM admin WHERE aduser='" . $_POST['aduser'] . "'";

$result = mysql_query($query);
$num_rows = mysql_num_rows($result);

if ($num_rows) echo "Dubbeltrubbel!";
Medlem sedan apr. 200312 679 inlägg
#3

Hm. WiZzLeR, hur ska jag placera koden?

{
$lank = mysql_connect ("localhost", "xxxx","xxxx");
$databas = mysql_select_db("xxxx");
$sql = "INSERT INTO admin (aduser,adpass,adname,ademail) VALUES('$_POST[aduser]','$_POST[adpass]','$_POST[adname]','$_POST[ademail]')";

$query = "SELECT aduser FROM admin WHERE aduser='" . $_POST['aduser'] . "'";
$result = mysql_query($query);
$num_rows = mysql_num_rows($result);
if ($num_rows) echo "Dubbeltrubbel!";

mysql_query($sql);
mysql_close ($lank);
echo "<p>";
echo $_POST[aduser] . "<br />\n";
echo $_POST[adname] . "<br />\n";
echo $_POST[ademail] . "</p>";
echo "<p>Har lagts till i databasen.</p>";
}

Om man gör sådär så säger den bara "Dubbeltrubbel" och sen "... har lagts till i databasen". Men den skapar ändå en dublett.

Medlem sedan juni 2002346 inlägg
#4

hehe. jag ville att du skulle lista ut det. =)

{

$lank = mysql_connect ("localhost", "xxxx","xxxx");
$databas = mysql_select_db("xxxx");
$sql = "INSERT INTO admin (aduser,adpass,adname,ademail)  VALUES('$_POST[aduser]','$_POST[adpass]','$_POST[adname]','$
_POST[ademail]')";

$query = "SELECT aduser FROM admin WHERE aduser='" . $_POST['aduser'] . "'";

$result = mysql_query($query);
$num_rows = mysql_num_rows($result);

if ($num_rows) {
  echo "Användaren existerar redan!";
  return;
}

mysql_query($sql);
mysql_close ($lank);

echo "<p>";
echo $_POST[aduser] . "<br />\n";
echo $_POST[adname] . "<br />\n";
echo $_POST[ademail] . "</p>";
echo "<p>Har lagts till i databasen.</p>";

}
Medlem sedan apr. 200312 679 inlägg
#5

Haha, vad omtänksam du är WiZzLeR! Synd att jag inte är så haj då. :) Tack för hjälpen och god fortsättning! :bire

Medlem sedan juni 2002346 inlägg
#6

detsamma. ;)

251 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)