Avatar billede evilfish Nybegynder
28. maj 2002 - 19:36 Der er 8 kommentarer og
1 løsning

Lidt rod med mySQL

Jeg har en side der skal lægge en nyhed når man har skrevet den ind, men kun hvis adminkodeordet passer sammen med adminbrugerneavnet. Jeg har lavet selve programmeringen, men der er nogle galt. Jeg tror det er i mysql delen... Men hvad:
--------------

<head>
<title>Add News</title>
</head>

<body>

<form action="<?=$PHP_SELF;?>">
  <table width="868">
    <tr>
      <td width"50" width="91">Adminuser:</td>
      <td width"100" width="765"><input type="text" name="adminuser" size="20"></td>
    </tr>
    <tr>
      <td width"50" width="91">Adminpass:</td>
      <td width"100" width="765"><input type="password" name="adminpass" size="20"></td>
    </tr>
    <tr>
      <td width"50" width="91">Name:</td>
      <td width"100" width="765"><input type="text" name="name" value"<? echo $name ?> size="20"></td>
    </tr>
    <tr>
      <td width"50" width="91">Dato:</td>
      <td width"100" width="765"><input type="text" name="date" value"<? echo $date ?> size="20"></td>
    </tr>
    <tr>
      <td width"50" width="91">Head Line:</td>
      <td width"100" width="765"><input type="text" name="headline" value"<? echo $headline ?> size="20"></td>
    </tr>
    <tr>
      <td width"50" width="91">Text:</td>
      <td width"100" width="765"><textarea rows="10" name="news" value"<? echo $text ?> cols="80"></textarea></td>
    </tr>
  </table>
<input type="SUBMIT" value="submit" name="submit">
</form>
</body>
</html>
<?
if($submit)
{
    if(!$name)
    {
        echo "Dummy - Write your freaking name";
    }
    else if(!$headline)
    {
        echo "Oops - Dont you think it would be easier if the news had a head line?!?";
    }
    else if(!$news)
    {
        echo "ehheem - A news with no text? Are you insane!?";
    }
    else
    {
        $db = mysql_connect("localhost","evil","fish1");
        mysql_select_db("db", $db);
        mysql_query("SELECT user, pass FROM admin WHERE user = '$adminuser'") or die(mysql_error());
        if($adminpass == $pass)
        {
            $db = mysql_connect("localhost","evil","fish1");
            mysql_select_db("db", $db);
            mysql_query("INSERT INTO news (name, headline, news, date) VALUES('$name','$headline','$news','$date')") or die(mysql_error());
            echo "The news is added to database \"news\"";
        }
        else if($adminpass != $pass)
        {
            echo "Password incorrect";
        }
    }
}
?>
-----------------

Evilfish
Avatar billede earp Nybegynder
28. maj 2002 - 19:47 #1
Hvorfor connecter du til din mysql 2 gange efter hinanden?
Avatar billede disky Nybegynder
28. maj 2002 - 21:40 #2
dette er en MYSQL gruppe, hold derfor html og php kode langt væk

på forhånd tak.
Avatar billede kattefarmer Nybegynder
28. maj 2002 - 22:09 #3
"mysql_query("SELECT user, pass FROM admin WHERE user = '$adminuser'") or die"
Skal der ikke også være to ligmed-tegn efter user??? Og du behøves ikke at connecte til MySQL to gange...sørg for at lukke den i første blok eller at lade være med at lave en kommando til at åbne den i anden blok...
Avatar billede fri-hash Nybegynder
29. maj 2002 - 08:16 #4
sql bruger enkelt=

hvis du nu fortæller HVAD der er galt, istedet for bare at fortælle at der er NOGET galt bliver det nemmere at lokalisere en fejl
Avatar billede disky Nybegynder
29. maj 2002 - 08:29 #5
hvis du nu fortalte hvad der går galt hjælper det lidt.
Avatar billede evilfish Nybegynder
29. maj 2002 - 17:03 #6
Den vælger de forkerte værdier i databasen... Users password skal være identiske hvad han skriver, men jeg tror ikke den sammenligner det rigtigt
Avatar billede fri-hash Nybegynder
29. maj 2002 - 17:13 #7
alså denne :
if($adminpass == $pass)
??

hvis $pass kommer fra denne
mysql_query("SELECT user, pass FROM admin WHERE user = '$adminuser'") or die(mysql_error());
så mangler du noget



$SQLRESULTAT = mysql_query("SELECT user, pass FROM admin WHERE user = '$adminuser'") or die(mysql_error());
$RESULTATDATA = mysql_fetch_array($SQLRESULTAT);
        if($adminpass == $RESULTATDATA["pass"])
        {

tilføjelser er skrevet med stort, håber du kan se meningen
Avatar billede fri-hash Nybegynder
29. maj 2002 - 17:15 #8
øøøh, det var ikke alt tilføjet der var stort + der var noget der var i forvejen der også var stort(sql) *LOL*

glem bemærkningen om stort, men håber du fanger ideen alligevel :-)
Avatar billede evilfish Nybegynder
29. maj 2002 - 17:24 #9
Jeg har ideen tak. Nu mangler jeg bare at jeg kan få mit mysql til at køre på localhost
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
Computerworld tilbyder specialiserede kurser i database-management

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