Avatar billede tras Juniormester
04. oktober 2005 - 10:59 Der er 29 kommentarer og
1 løsning

Skal havde lavet en tjek felt med databasen

Jeg skal tjekke min input username med username fra databasen. Hvis de to er ens så må msn ikke oprette og er de ikke så opretter den brugern i databasen.

Her er min kode. Jeg har prøvet med noget sql men igen kunne få det til at virke. så nu har jeg sat koden tilbage til start og så vil jeg høre om i vil hjælpe mig med at lave noget tjek fra databasen som virker.?!

http://www.gamersloot.dk/ogame/?menu=account&page=create_account

<?
if($_POST['username'] != "" and $_POST['password'] != "" and $_POST['passwordtest'] != "" and $_POST['name'] != "" and $_POST['password'] == $_POST['passwordtest']){
    session_start();
    include("func.php");
    Db::Conn(open);
    $do = $_POST['do'];
    if($do == "insert db_users"){
        $username = $_POST['username'];
        $password = md5($_POST['password']);
        $name = $_POST['name'];
        $start_time = date('g:i a');
        $start_day = date('d');
        $start_month = date('M');
        $start_year = date('Y');
        mysql_query("INSERT INTO db_users (
        username,
        password,
        name,
        start_time,
        start_day,
        start_month,
        start_year
        ) VALUES (
        '$username',
        '$password',
        '$name',
        '$start_time',
        '$start_day',
        '$start_month',
        '$start_year'
        )") or die (Java::Alert("MySQL Error: ".mysql_error()));
        Java::GoToURL("index.php");
    }elseif($do == ""){
               
    }
    Db::Conn(close);
}else{ ?>
<table>
    <tr>
        <td>&nbsp;
           
        </td>
    </tr>
</table>
<table bgcolor="#FFFF00" align="center" style="border: 1px gray solid;">
    <tr>
        <td align="center">
            Warning
        </td>
    </tr>
    <? if($_POST['username'] == ""){ ?>
    <tr>
        <td>
            The <strong>"Username:"</strong> field is empty?
        </td>
    </tr>
    <? } ?>
    <? if($_POST['password'] == ""){ ?>
    <tr>
        <td>
            The <strong>"Password:"</strong> field is empty?
        </td>
    </tr>
    <? } ?>
    <? if($_POST['passwordtest'] == ""){ ?>
    <tr>
        <td>
            The <strong>"Retype Password:"</strong> is empty?
        </td>
    </tr>
    <? } ?>
    <? if($_POST['password'] != $_POST['passwordtest']){ ?>
    <tr>
        <td>
            The <strong>"Password:"</strong> and the <strong>"Retype Password:"</strong> do not match?
        </td>
    </tr>
    <? } ?>
    <? if($_POST['name'] == ""){ ?>
    <tr>
        <td>
            The <strong>"Full Name:"</strong> field is empty?
        </td>
    </tr>
    <? } ?>
</table>
<table align="center">
    <tr>
        <td>
            <a href="java script:history.go(-1)">Go Back</a>
        </td>
    </tr>
</table>
<? }?>
Avatar billede Slettet bruger
04. oktober 2005 - 11:14 #1
$query = mysql_query("select `id` from `tabel` where `brugernavn`='" . $_POST['brugernavn'] . "'") or die (mysql_error());
if (mysql_num_rows($query) > 0) {
    echo "brugernavnet " . $_POST['brugernavn'] . " findes allerede";
} else {
    // opret
}
Avatar billede tras Juniormester
04. oktober 2005 - 11:19 #2
Sådan.
<?
$SQL = "SELECT * FROM db_users ORDER BY `id` DESC";
$query = mysql_query("select `id` from `tabel` where `brugernavn`='" . $_POST['username'] . "'") or die (mysql_error());
if (mysql_num_rows($query) > 0) {
    echo "The username: " . $_POST['username']; . " All ready exsist";
} else {
if($_POST['username'] != "" and $_POST['password'] != "" and $_POST['passwordtest'] != "" and $_POST['name'] != "" and $_POST['password'] == $_POST['passwordtest']){
    session_start();
    include("func.php");
    Db::Conn(open);
    $do = $_POST['do'];
    if($do == "insert db_users"){
        $username = $_POST['username'];
        $password = md5($_POST['password']);
        $name = $_POST['name'];
        $start_time = date('g:i a');
        $start_day = date('d');
        $start_month = date('M');
        $start_year = date('Y');
        mysql_query("INSERT INTO db_users (
        username,
        password,
        name,
        start_time,
        start_day,
        start_month,
        start_year
        ) VALUES (
        '$username',
        '$password',
        '$name',
        '$start_time',
        '$start_day',
        '$start_month',
        '$start_year'
        )") or die (Java::Alert("MySQL Error: ".mysql_error()));
        Java::GoToURL("index.php");
    }elseif($do == ""){
               
    }
    Db::Conn(close);
}}else{ ?>
<table>
    <tr>
        <td>&nbsp;
           
        </td>
    </tr>
</table>
<table bgcolor="#FFFF00" align="center" style="border: 1px gray solid;">
    <tr>
        <td align="center">
            Warning
        </td>
    </tr>
    <? if($_POST['username'] == ""){ ?>
    <tr>
        <td>
            The <strong>"Username:"</strong> field is empty?
        </td>
    </tr>
    <? } ?>
    <? if($_POST['password'] == ""){ ?>
    <tr>
        <td>
            The <strong>"Password:"</strong> field is empty?
        </td>
    </tr>
    <? } ?>
    <? if($_POST['passwordtest'] == ""){ ?>
    <tr>
        <td>
            The <strong>"Retype Password:"</strong> is empty?
        </td>
    </tr>
    <? } ?>
    <? if($_POST['password'] != $_POST['passwordtest']){ ?>
    <tr>
        <td>
            The <strong>"Password:"</strong> and the <strong>"Retype Password:"</strong> do not match?
        </td>
    </tr>
    <? } ?>
    <? if($_POST['name'] == ""){ ?>
    <tr>
        <td>
            The <strong>"Full Name:"</strong> field is empty?
        </td>
    </tr>
    <? } ?>
</table>
<table align="center">
    <tr>
        <td>
            <a href="java script:history.go(-1)">Go Back</a>
        </td>
    </tr>
</table>
<? }?>

Det virker ikke?
Avatar billede Slettet bruger
04. oktober 2005 - 11:19 #3
Så istedet for din if-sætning øverst oppe, skal der stå:

$query = mysql_query("select `id` from `db_users`
                      where `username`='" . $_POST['username'] . "'") or die (mysql_error());

if (!empty($_POST['username'])
    && !empty($_POST['password'])
    && !empty($_POST['passwordtest'])
    && !empty($_POST['name'])
    && $_POST['password'] == $_POST['passwordtest']
    && mysql_num_rows($query) == 0)
{
Avatar billede tras Juniormester
04. oktober 2005 - 11:20 #4
øhh, hvorfor
Avatar billede tras Juniormester
04. oktober 2005 - 11:21 #5
Nu har jeg gjordt sådan

$SQL = "SELECT * FROM db_users ORDER BY `id` DESC";
$query = mysql_query("select `id` from `db_users` where `username`='" . $_POST['username'] . "'") or die (mysql_error());
if (mysql_num_rows($query) > 0) {
    echo "The username: " . $_POST['username']; . " All ready exsist";
Avatar billede tras Juniormester
04. oktober 2005 - 11:22 #6
Arrrr fjerner jeg min if setning tjkker den ikke for tomme felter eller om password 1 og 2 er ens vel???
Avatar billede Slettet bruger
04. oktober 2005 - 11:22 #7
<?php
$query = mysql_query("select `id` from `db_users`
                      where `username`='" . $_POST['username'] . "'") or die (mysql_error());

if (!empty($_POST['username'])
    && !empty($_POST['password'])
    && !empty($_POST['passwordtest'])
    && !empty($_POST['name'])
    && $_POST['password'] == $_POST['passwordtest']
    && mysql_num_rows($query) == 0)
{
    session_start();
    include("func.php");
    Db::Conn(open);
    $do = $_POST['do'];
    if($do == "insert db_users"){
        $username = $_POST['username'];
        $password = md5($_POST['password']);
        $name = $_POST['name'];
        $start_time = date('g:i a');
        $start_day = date('d');
        $start_month = date('M');
        $start_year = date('Y');
        mysql_query("INSERT INTO db_users (
        username,
        password,
        name,
        start_time,
        start_day,
        start_month,
        start_year
        ) VALUES (
        '$username',
        '$password',
        '$name',
        '$start_time',
        '$start_day',
        '$start_month',
        '$start_year'
        )") or die (Java::Alert("MySQL Error: ".mysql_error()));
        Java::GoToURL("index.php");
    }elseif($do == ""){
             
    }
    Db::Conn(close);
}else{ ?>
<table>
    <tr>
        <td>&nbsp;
         
        </td>
    </tr>
</table>
<table bgcolor="#FFFF00" align="center" style="border: 1px gray solid;">
    <tr>
        <td align="center">
            Warning
        </td>
    </tr>
    <? if(mysql_num_rows($query) > 0){ ?>
    <tr>
        <td>
            The <strong>username</strong> exists already!
        </td>
    </tr>
    <? } ?>




    <? if($_POST['username'] == ""){ ?>
    <tr>
        <td>
            The <strong>"Username:"</strong> field is empty?
        </td>
    </tr>
    <? } ?>
    <? if($_POST['password'] == ""){ ?>
    <tr>
        <td>
            The <strong>"Password:"</strong> field is empty?
        </td>
    </tr>
    <? } ?>
    <? if($_POST['passwordtest'] == ""){ ?>
    <tr>
        <td>
            The <strong>"Retype Password:"</strong> is empty?
        </td>
    </tr>
    <? } ?>
    <? if($_POST['password'] != $_POST['passwordtest']){ ?>
    <tr>
        <td>
            The <strong>"Password:"</strong> and the <strong>"Retype Password:"</strong> do not match?
        </td>
    </tr>
    <? } ?>
    <? if($_POST['name'] == ""){ ?>
    <tr>
        <td>
            The <strong>"Full Name:"</strong> field is empty?
        </td>
    </tr>
    <? } ?>
</table>
<table align="center">
    <tr>
        <td>
            <a href="java script:history.go(-1)">Go Back</a>
        </td>
    </tr>
</table>
<? }?>
Avatar billede tras Juniormester
04. oktober 2005 - 11:24 #8
Sådan ikke
<?
$query = mysql_query("select `id` from `db_users`
                      where `username`='" . $_POST['username'] . "'") or die (mysql_error());

if (!empty($_POST['username'] and $_POST['username'] != "" and $_POST['password'] != "" and $_POST['passwordtest'] != "" and $_POST['name'] != "" and $_POST['password'] == $_POST['passwordtest'])
    && !empty($_POST['password'])
    && !empty($_POST['passwordtest'])
    && !empty($_POST['name'])
    && $_POST['password'] == $_POST['passwordtest']
    && mysql_num_rows($query) == 0){
    session_start();
    include("func.php");
    Db::Conn(open);
    $do = $_POST['do'];
    if($do == "insert db_users"){
        $username = $_POST['username'];
        $password = md5($_POST['password']);
        $name = $_POST['name'];
        $start_time = date('g:i a');
        $start_day = date('d');
        $start_month = date('M');
        $start_year = date('Y');
Avatar billede Slettet bruger
04. oktober 2005 - 11:25 #9
if (!empty($_POST['username'])
    && !empty($_POST['password'])
    && !empty($_POST['passwordtest'])
    && !empty($_POST['name'])
    && $_POST['password'] == $_POST['passwordtest']
    && mysql_num_rows($query) == 0)
{

1) Hvis det postede brugernavn IKKE er tomt
2) og det postede password IKKE er tomt
3) og det postede passwordtest IKKE er tomt
4) og det postede navn IKKE er tomt
5) og det postede password ER det samme som det postede passwordtest
6) og antallet af rækker hvor brugernavnet er det smame som det postede brugernavn ER 0!
Avatar billede tras Juniormester
04. oktober 2005 - 11:26 #10
sorry nu kan jeg se deet
Avatar billede Slettet bruger
04. oktober 2005 - 11:26 #11
bare tag hele koden jeg postede? jeg lavede jo en færdig kode?
Avatar billede tras Juniormester
04. oktober 2005 - 11:27 #12
der er stadig fejl på siden jeg kan ikke oprette får hvid skærm
Avatar billede tras Juniormester
04. oktober 2005 - 11:27 #13
<?
$query = mysql_query("select `id` from `db_users`
                      where `username`='" . $_POST['username'] . "'") or die (mysql_error());

if (!empty($_POST['username'])
    && !empty($_POST['password'])
    && !empty($_POST['passwordtest'])
    && !empty($_POST['name'])
    && $_POST['password'] == $_POST['passwordtest']
    && mysql_num_rows($query) == 0){
    session_start();
    include("func.php");
    Db::Conn(open);
    $do = $_POST['do'];
    if($do == "insert db_users"){
        $username = $_POST['username'];
        $password = md5($_POST['password']);
        $name = $_POST['name'];
        $start_time = date('g:i a');
        $start_day = date('d');
        $start_month = date('M');
        $start_year = date('Y');
        mysql_query("INSERT INTO db_users (
        username,
        password,
        name,
        start_time,
        start_day,
        start_month,
        start_year
        ) VALUES (
        '$username',
        '$password',
        '$name',
        '$start_time',
        '$start_day',
        '$start_month',
        '$start_year'
        )") or die (Java::Alert("MySQL Error: ".mysql_error()));
        Java::GoToURL("index.php");
    }elseif($do == ""){
               
    }
    Db::Conn(close);
}}else{ ?>
<table>
    <tr>
        <td>&nbsp;
           
        </td>
    </tr>
</table>
<table bgcolor="#FFFF00" align="center" style="border: 1px gray solid;">
    <tr>
        <td align="center">
            Warning
        </td>
    </tr>
    <? if($_POST['username'] == ""){ ?>
    <tr>
        <td>
            The <strong>"Username:"</strong> field is empty?
        </td>
    </tr>
    <? } ?>
    <? if($_POST['password'] == ""){ ?>
    <tr>
        <td>
            The <strong>"Password:"</strong> field is empty?
        </td>
    </tr>
    <? } ?>
    <? if($_POST['passwordtest'] == ""){ ?>
    <tr>
        <td>
            The <strong>"Retype Password:"</strong> is empty?
        </td>
    </tr>
    <? } ?>
    <? if($_POST['password'] != $_POST['passwordtest']){ ?>
    <tr>
        <td>
            The <strong>"Password:"</strong> and the <strong>"Retype Password:"</strong> do not match?
        </td>
    </tr>
    <? } ?>
    <? if($_POST['name'] == ""){ ?>
    <tr>
        <td>
            The <strong>"Full Name:"</strong> field is empty?
        </td>
    </tr>
    <? } ?>
</table>
<table align="center">
    <tr>
        <td>
            <a href="java script:history.go(-1)">Go Back</a>
        </td>
    </tr>
</table>
<? }?>
Avatar billede tras Juniormester
04. oktober 2005 - 11:29 #14
undskyld så virker det 2sek
Avatar billede tras Juniormester
04. oktober 2005 - 11:29 #15
bare en ting den skulle gerne skrive fejlen i det gule felt nederst i kode?=???
Avatar billede tras Juniormester
04. oktober 2005 - 11:30 #16
Nu får jeg beskeden Access denied for user: 'gamersloot.dk@localhost' (Using password: NO) HELE tiden
Avatar billede tras Juniormester
04. oktober 2005 - 11:31 #17
nååå ja jeg skal lige 2sek
Avatar billede tras Juniormester
04. oktober 2005 - 11:32 #18
Siden bliver bare hvid.
http://www.gamersloot.dk/ogame/?menu=account&page=create_account
prøv at lave en account

Her er koden.. den skulle lige hvadde nogle oplysninger om databasen fra funk.php

<?php
include("func.php");
DB::Conn("open");
$query = mysql_query("select `id` from `db_users`
                      where `username`='" . $_POST['username'] . "'") or die (mysql_error());

if (!empty($_POST['username'])
    && !empty($_POST['password'])
    && !empty($_POST['passwordtest'])
    && !empty($_POST['name'])
    && $_POST['password'] == $_POST['passwordtest']
    && mysql_num_rows($query) == 0)
{
    session_start();
    include("func.php");
    Db::Conn(open);
    $do = $_POST['do'];
    if($do == "insert db_users"){
        $username = $_POST['username'];
        $password = md5($_POST['password']);
        $name = $_POST['name'];
        $start_time = date('g:i a');
        $start_day = date('d');
        $start_month = date('M');
        $start_year = date('Y');
        mysql_query("INSERT INTO db_users (
        username,
        password,
        name,
        start_time,
        start_day,
        start_month,
        start_year
        ) VALUES (
        '$username',
        '$password',
        '$name',
        '$start_time',
        '$start_day',
        '$start_month',
        '$start_year'
        )") or die (Java::Alert("MySQL Error: ".mysql_error()));
        Java::GoToURL("index.php");
    }elseif($do == ""){
             
    }
    Db::Conn(close);
}else{ ?>
<table>
    <tr>
        <td>&nbsp;
         
        </td>
    </tr>
</table>
<table bgcolor="#FFFF00" align="center" style="border: 1px gray solid;">
    <tr>
        <td align="center">
            Warning
        </td>
    </tr>
    <? if(mysql_num_rows($query) > 0){ ?>
    <tr>
        <td>
            The <strong>username</strong> exists already!
        </td>
    </tr>
    <? } ?>




    <? if($_POST['username'] == ""){ ?>
    <tr>
        <td>
            The <strong>"Username:"</strong> field is empty?
        </td>
    </tr>
    <? } ?>
    <? if($_POST['password'] == ""){ ?>
    <tr>
        <td>
            The <strong>"Password:"</strong> field is empty?
        </td>
    </tr>
    <? } ?>
    <? if($_POST['passwordtest'] == ""){ ?>
    <tr>
        <td>
            The <strong>"Retype Password:"</strong> is empty?
        </td>
    </tr>
    <? } ?>
    <? if($_POST['password'] != $_POST['passwordtest']){ ?>
    <tr>
        <td>
            The <strong>"Password:"</strong> and the <strong>"Retype Password:"</strong> do not match?
        </td>
    </tr>
    <? } ?>
    <? if($_POST['name'] == ""){ ?>
    <tr>
        <td>
            The <strong>"Full Name:"</strong> field is empty?
        </td>
    </tr>
    <? } ?>
</table>
<table align="center">
    <tr>
        <td>
            <a href="java script:history.go(-1)">Go Back</a>
        </td>
    </tr>
</table>
<? }?>
Avatar billede Slettet bruger
04. oktober 2005 - 11:34 #19
Det må jo være denne her:

elseif($do == ""){
}

Den er jo tom.

Jeg kan ikke lige gennemskue hvor du får $do fra :)
Avatar billede tras Juniormester
04. oktober 2005 - 11:37 #20
$do = $_POST['do'];
Avatar billede tras Juniormester
04. oktober 2005 - 11:37 #21
Den siger du jo eller gør igen ting
Avatar billede Slettet bruger
04. oktober 2005 - 11:39 #22
Jo, jeg fandt den i din kode.

Har du tjekket om den opretter, og så bare dit java ikke virker?
Avatar billede tras Juniormester
04. oktober 2005 - 11:40 #23
nu da du nævner det kan jeg helder ikke. det var noget fra min gamle kode som altid har virket og det gjorde det også før vi tiljøjet det nye...
Avatar billede Slettet bruger
04. oktober 2005 - 11:40 #24
prøv at skrive:

)") or die (mysql_error());
echo "oprettet";

istedet for:

)") or die (Java::Alert("MySQL Error: ".mysql_error()));
Java::GoToURL("index.php");
Avatar billede tras Juniormester
04. oktober 2005 - 11:44 #25
sådan
Avatar billede tras Juniormester
04. oktober 2005 - 11:45 #26
vi kan vel fjerne elseif ikke?
Avatar billede Slettet bruger
04. oktober 2005 - 11:49 #27
<?php
include("func.php");
DB::Conn("open");
$query = mysql_query("select `id` from `db_users`
                      where `username`='" . $_POST['username'] . "'") or die (mysql_error());

if (!empty($_POST['username'])
    && !empty($_POST['password'])
    && !empty($_POST['passwordtest'])
    && !empty($_POST['name'])
    && $_POST['password'] == $_POST['passwordtest']
    && mysql_num_rows($query) == 0)
{
        $username = $_POST['username'];
        $password = md5($_POST['password']);
        $name = $_POST['name'];
        $start_time = date('g:i a');
        $start_day = date('d');
        $start_month = date('M');
        $start_year = date('Y');
        mysql_query("INSERT INTO db_users (
        username,
        password,
        name,
        start_time,
        start_day,
        start_month,
        start_year
        ) VALUES (
        '$username',
        '$password',
        '$name',
        '$start_time',
        '$start_day',
        '$start_month',
        '$start_year'
        )") or die (mysql_error());
        echo "oprettet";
        Db::Conn(close);
} else { ?>
<table>
    <tr>
        <td>&nbsp;
       
        </td>
    </tr>
</table>
<table bgcolor="#FFFF00" align="center" style="border: 1px gray solid;">
    <tr>
        <td align="center">
            Warning
        </td>
    </tr>
    <? if(mysql_num_rows($query) > 0){ ?>
    <tr>
        <td>
            The <strong>username</strong> exists already!
        </td>
    </tr>
    <? } ?>
    <? if($_POST['username'] == ""){ ?>
    <tr>
        <td>
            The <strong>"Username:"</strong> field is empty?
        </td>
    </tr>
    <? } ?>
    <? if($_POST['password'] == ""){ ?>
    <tr>
        <td>
            The <strong>"Password:"</strong> field is empty?
        </td>
    </tr>
    <? } ?>
    <? if($_POST['passwordtest'] == ""){ ?>
    <tr>
        <td>
            The <strong>"Retype Password:"</strong> is empty?
        </td>
    </tr>
    <? } ?>
    <? if($_POST['password'] != $_POST['passwordtest']){ ?>
    <tr>
        <td>
            The <strong>"Password:"</strong> and the <strong>"Retype Password:"</strong> do not match?
        </td>
    </tr>
    <? } ?>
    <? if($_POST['name'] == ""){ ?>
    <tr>
        <td>
            The <strong>"Full Name:"</strong> field is empty?
        </td>
    </tr>
    <? } ?>
</table>
<table align="center">
    <tr>
        <td>
            <a href="java script:history.go(-1)">Go Back</a>
        </td>
    </tr>
</table>
<? }?>
Avatar billede tras Juniormester
04. oktober 2005 - 11:50 #28
Så virker det men den tjekker ikke om bruger allerade findes jeg kan oprette den samme 2 gange
Avatar billede tras Juniormester
04. oktober 2005 - 11:52 #29
nej sorry det virker
Avatar billede tras Juniormester
04. oktober 2005 - 11:54 #30
Mange tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester