Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Ongelma rekisteröinnissä

apocalypse [29.08.2004 19:50:42]

#

Elikkä löysin netistä kivan php rekisteröinti skriptin joka käyttää MySQL:llä mutta vaikka skripti muuten toimii hyvin se ei tarkista jos saman nimistä käyttäjää on jo olemassa. Voiko joku kerto mitä lisään skriptiin että se tarkistaa onko käyttäjää olemassa.

Toivottavasti muokkaus tulee tuohon koodipätkään

<font size="1" face="Verdana, Arial, Helvetica, sans-serif">
<?php
ob_start();
include ('config.php');

if (empty($username))
{
die ("Anna käyttäjätunnus!");
}
if (empty($password))
{
die ("Anna salasana!");
}
if (empty($email))
{
die ("Anna sähköpostiosoite!");
}
else{
$id=substr(md5(time()),0,90);
$conn = mysql_connect("$db_host", "$db_user", "$db_pass") or die("Failed to connect to mysql server");
mysql_select_db("$db_name", $conn);

$result= MYSQL_QUERY("INSERT INTO an_members (id, username, email, password, validated)". "VALUES ('$id', '$username', '$email', '$password', '0')");
echo "Käyttäjätunnuksesi ja salasanasi on lähetetty sinulle osoitteeseen $email.
<br>Paina linkkiä sähköpostissa aktivoidaksesi tunnuksesi.";

mail("$webmaster", "$username has signed up", "$username has signed up with email $email and password $password", "From: $webmaster");
mail("$email", "Rekisteröitymin $domain".":iin", "Tervetuloa $username!!
Olet rekisteröitynyt seuraavilla tiedoilla:

Käyttäjätunnus: $username
Salasana: $password
Sähköposti: $email
ID: $id
Aktivoi tunnuksesi manuaalisesti antamalla ID-tunnuksesi:
$root/validate.php

Voit myös aktivoida tunnuksesi automaattisesti painamalla alla olevaa linkkiä:
$root/validate.php?id=$id


Ystävällisin Terveisin
$domain

Kiitos antidolle http://www.antido.com", "From: $webmaster");
}
echo "<br>";
if ($include_menu == 1){
include ('menu.php');
}
else{}
ob_end_flush();
?>
</font>

Antti Laaksonen [29.08.2004 20:34:22]

#

Seuraavalla koodilla saat ongittua tietoosi, kuinka monta tietyn nimistä tunnusta tietokannassa on valmiina.

$maara = mysql_result(mysql_query("SELECT COUNT(*) FROM an_members WHERE username = '$username'"), 0);

Sijoita tämä kysely ennen uuden käyttäjän lisäämistä ja tarkista $maara-muuttujan arvo. Jos luku on nollasta eriävä, käyttäjänimi on jo tietokannassa ja rekisteröinti täytyy keskeyttää.

apocalypse [29.08.2004 20:45:47]

#

Selvä. Täytyy kokeilla :)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta