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

Error i sql setning

Hvad er der galt med min kode. den virker ikke efter jeg har sat min sql setning på.
<?
    Db::Conn("open");
    $SQL = "SELECT * FROM db_users";
    $loadin = mysql_query($SQL) or die("There is an Error in the database");
    while ($Get = mysql_fetch_object($loadin)){
   
    if($_POST['username'] != "" and $_POST['password'] != "" and $_POST['passwordtest'] != "" and $_POST['name'] != "" and $_POST['password'] == $_POST['passwordtest'] and $_POST['username'] != $Get->username){

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>
    <? } ?>
    <? if($_POST['username'] == $Get->username){ ?>
    <tr>
        <td>
            The <strong>"Username:"</strong> is all ready taken?
        </td>
    </tr>
    <? } ?>
    <? if($_POST['username'] == $Get->username){ ?>
    <tr>
        <td>
            The <strong>"Username:"</strong> allready exsist?
        </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 - 09:33 #1
Gå ind på www.gamersloot.dk/ogame/ og opret en person under Account ;) så kan i se hvad jeg mener
Avatar billede tras Juniormester
04. oktober 2005 - 09:52 #2
<?
if($_POST['username'] != "" and $_POST['password'] != "" and $_POST['passwordtest'] != "" and $_POST['name'] != "" and $_POST['password'] == $_POST['passwordtest'] and $_POST['username'] != $Get->username){

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>
    <? } ?>
    <? if($_POST['username'] == $Get->username){ ?>
    <tr>
        <td>
            The <strong>"Username:"</strong> is all ready taken?
        </td>
    </tr>
    <? } ?>
    <? if($_POST['username'] == $Get->username){ ?>
    <tr>
        <td>
            The <strong>"Username:"</strong> allready exsist?
        </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 - 10:00 #3
Er "Db::Conn(open);" ikke ASP syntax?

Prøv at se på http://www.php.net/mysql_connect og http://www.php.net/mysql_select_db

--
pacroon
Avatar billede tras Juniormester
04. oktober 2005 - 10:01 #4
Nope jeg bruger den conn på de andre sider med bruer jeg den på denne kommer der fejl?!
Avatar billede polle007 Nybegynder
04. oktober 2005 - 10:22 #5
jeg har lige oprettet bruger:password og logger efterfølgende fint ind
Avatar billede tras Juniormester
04. oktober 2005 - 10:23 #6
Ja men fjernede sqlen for en ven mente ikke det var den
Avatar billede tras Juniormester
04. oktober 2005 - 10:23 #7
Og jo det var sql koden som jeg havde sagt sætter den lige ind igen 2sek
Avatar billede tras Juniormester
04. oktober 2005 - 10:25 #8
så er sqlen sat ind som i toppen af denne side
Avatar billede cpfrande Nybegynder
04. oktober 2005 - 10:25 #9
Halløj,

Hvilken fejlmeddelelse udskriver det, når det sker?
Helt specifikt - hvad er fejlen?
- Oprettes dataerne i tabellen i database?
- Hvis ikke, hvilken meddelelse giver mysql_error() så?
- Hvis de oprettes, får du så en anden fejlmeddelelse? Hvilken?

- frande
Avatar billede tras Juniormester
04. oktober 2005 - 10:27 #10
Jo jeg får igen fejl meddegelse desvære der er noget galt med dette kode her på min side..... Alså db open... tror ikke rasten af koden er gald for while????

<?
    Db::Conn("open");
    $SQL = "SELECT * FROM db_users";
    $loadin = mysql_query($SQL) or die("There is an Error in the database");
    while ($Get = mysql_fetch_object($loadin)){
   
    if($_POST['username'] != "" and $_POST['password'] != "" and $_POST['passwordtest'] != "" and $_POST['name'] != "" and $_POST['password'] == $_POST['passwordtest'] and $_POST['username'] != $Get->username){
Avatar billede tras Juniormester
04. oktober 2005 - 10:28 #11
Avatar billede tras Juniormester
04. oktober 2005 - 10:29 #12
Men jeg skal opne databasen og bruge informationerne i $Get->username til at tjekke med det felt som heder $_POST['username'] så vis de er ens så må man ikke oprette og skal lave username om... men der er problmer når jeg sætter db koden ind
Avatar billede tras Juniormester
04. oktober 2005 - 10:38 #13
WEll i give up
Avatar billede cpfrande Nybegynder
04. oktober 2005 - 10:40 #14
Halløj,

Så må du lige gøre sådan, at der udskrives en fejlmeddelelse. Ellers arbejder vi i blinde på sin vis. Kan jo være, at det er i selve din SQL-sætning, at der er en fejl - har vi ikke en jordisk chance for at spotte i så fald.

Så få lige udprintet en fejlmeddelelse, tak! :-)

Jeg ville måske optimere din kode en smule, hvis det var.
Du bruger en while, så vidt jeg kan se, for at tjekke at brugernavnet ikke er optaget.

Du kan slippe for en while-sætning, ved at udføre en SQL-sætning, hvor du efterspørger alle brugere med brugernavnet $_POST['username']. Herefter kan du udføre "en optælning" via f.eks. mysql_num_rows(). mysql_num_rows() returnere egentligt blot antallet af rækker, der er fundet. Dvs. hvis brugernavnet ikke blev fundet i listen, retunere den 0.

- frande
Avatar billede tras Juniormester
04. oktober 2005 - 10:43 #15
Ved du vad det hele er noget lort... Vi srarter for fra 2sek paster lige noget nyt her inde
Avatar billede tras Juniormester
04. oktober 2005 - 10:44 #16
Ok nu har jeg reset koden så den virker men ikke tjerkker i databasen om der er nogle som heder det samme ok?.

Her er koden som virker unden tjek i databasen...

<?
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>
    <? } ?>
    <? if($_POST['username'] == $_SESSION['user_tjek']){ ?>
    <tr>
        <td>
            The <strong>"Username:"</strong> is all ready taken?
        </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 - 10:49 #17
Her lige fjernet noget gammel ubrugt kode fra den kode op over.
<? if($_POST['username'] == $_SESSION['user_tjek']){ ?>
    <tr>
        <td>
            The <strong>"Username:"</strong> is all ready taken?
        </td>
    </tr>
    <? } ?>
Avatar billede cpfrande Nybegynder
04. oktober 2005 - 11:28 #18
Halløj,

Jeg syntes, at du er rimelig opgivende - hurtigt!

Du må komme med en fejlmeddelelse, hvis du vil have hjælp. Jeg har hverken tid eller lyst til at starte en gætte-konkurrence på hvad fejlen kan være. Du må komme med en fejlmeddelelse. Det kunne nemt være en fejl i din SQL-sætning, men har vi som sagt ingen jordisk chance for at se efter.

- frande
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