Avatar billede usse Nybegynder
10. marts 2003 - 20:27 Der er 11 kommentarer og
1 løsning

gider ikke at smide noget ind i databasen

Jeg har det problem at scriptet ikke gider at smide noget ind i databasen. plus at der kommer en fejl!
Kunne ikke lukke forbindelsen til MySQL!
Warning: No MySQL-Link resource supplied in c:\inetpub\wwwroot\zerocontrol\tjeklogin.php on line 30

og linje 30 er  if(!mysql_close()) {
    echo "Kunne ikke lukke forbindelsen til MySQL!";
  }

<HTML>
<HEAD>
</HEAD>
<BODY>
<?php
////////////////////////////////////////////////////////////////////////////////
// FUNKTIONS ERKLÆRINGER
////////////////////////////////////////////////////////////////////////////////

// FUNKTION TIL AT ÅBNER EN FORBINDELSE TIL DATABASEN!
function aabn_forbindelse_og_vaelgdb()
{
  $server = "localhost";
  $bruger = "usse";
  $kodeord = "220884";
  $database = "rooster";
  $table = "login";

  if (!mysql_connect("$server","$bruger","$kodeord")) {
    udskriv_fejl("Kunne ikke oprette en forbindelse til MySQL.");
  }

  if(!mysql_select_db("$database")) {
    udskriv_fejl("Kunne ikke vælge databasen: $database");
  }
}
// FUNKTION TIL AT LUKKER FORBINDELSEN TIL DATABASEN IGEN!
function luk_forbindelse()
{
  if(!mysql_close()) {
    echo "Kunne ikke lukke forbindelsen til MySQL!";
  }
}
//
function getDataFromSqlQuery($SQL)
{
    $resultFromQuery = mysql_query($SQL);
    while($row = mysql_fetch_array($resultFromQuery)) {
      $resultArray[] = $row;
    }
  if (!isset($resultArray)) {
      $resultArray = FALSE;
  }
  return $resultArray;
}
// FUNKTION TIL AT UDSKRIVE FEJL MED
function udskriv_fejl($STR)
{
    print("<b>$STR</b>");
}
////////////////////////////////////////////////////////////////////////////////
// HER STARTER SCRIPTET
////////////////////////////////////////////////////////////////////////////////

// ÅBNER EN FORBINDELSE TIL DATABASEN
aabn_forbindelse_og_vaelgdb();

if(isset($_GET['action']) && $_GET['action'] == "login") {
    if($_POST['login_navn'] == "") {
      print "Du har ikke indtastet et brugernavn!";
    } elseif($_POST['login_kode'] == "") {
      print "Du har ikke indtastet en password!";
    } else {
      #SQL STRENG
      $tjek = "
      SELECT navn, kode
      FROM login
      WHERE navn = '".$_POST['login_navn']."'
        AND kode = '".$_POST['login_kode']."'";
      $return_from_query = getDataFromSqlQuery($tjek);
      if($return_from_query[0]['navn'] == $_POST['login_navn'] && $return_from_query[0]['kode'] == $_POST['login_kode']){

?>
<FONT>Den hemmlige side..</FONT>
<?
aabn_forbindelse_og_vaelgdb(); /* HER ÅBNES FORBINDELSEN */

$tabel = "rooster";
$name = $navn;
$age = $alder;
$mail = $brev;
$status = $opgave;
$home = $hjem;
$hardware = $udstyr;
$qvote = $besked;
$insertSQL = "insert into $tabel (name, age, mail, status, home, hardware, qvote)
              values ('$name', $age, '$mail', '$status', '$home', '$hardware', '$qvote')";
mysql_query($insertSQL);
?>
<FORM ACTION="<? echo $_SERVER["PHP_SELF"];?>" METHOD="get" enctype="text/plain">
<INPUT ID="box" NAME="navn" TYPE="text" VALUE=""><BR>
<INPUT ID="box" NAME="alder" TYPE="text" VALUE=""><BR>
<INPUT ID="box" NAME="brev" TYPE="text" VALUE=""><BR>
<INPUT ID="box" NAME="opgave" TYPE="text" VALUE=""><BR>
<INPUT ID="box" NAME="hjem" TYPE="text" VALUE=""><BR>
<INPUT ID="box" NAME="udstyr" TYPE="text" VALUE=""><BR>
<INPUT ID="box" NAME="besked" TYPE="text" VALUE=""><BR>
<INPUT ID="button" TYPE="submit" VALUE="Send">&nbsp;<INPUT ID="button" TYPE="reset" VALUE="Reset">
</FORM>
<A HREF="/zerocontrol/rooster.php">tilbage til roosters</A>
<?
luk_forbindelse();  /* HER LUKKES FORBINDELSEN IGEN */
?>
<?
        } else {
        echo "Der er fejl i enten brugernavn eller password!";
        }
    }
}
?>

<?
// LUKKER FORBINDELSEN TIL DATABASEN
luk_forbindelse();
?>
</BODY>
</HTML>
Avatar billede ofirpeter Nybegynder
10. marts 2003 - 20:29 #1
En anden gang skal du nok passe på med at smide dit password og hele muliviten her ind.. det kunne misbruges
Avatar billede ofirpeter Nybegynder
10. marts 2003 - 20:30 #2
Ikke fordi jeg har tjækket om det er det rigtige, det kan jo være du har ændret i det - i så fald, sorry ;-)
Avatar billede erikjacobsen Ekspert
10. marts 2003 - 20:57 #3
Prøv

mysql_query($insertSQL) or die(mysql_error());

Den anden skyldes sikkert at du allerede har lukket forbindelsen.
Du har ganske vist åbnet 2 gange, men det skal du ikke. Åbn én gang
i toppen, og luk én gang i bunden.
Avatar billede tefcke Nybegynder
10. marts 2003 - 23:44 #4
som erikjacobsen siger, åbner du en forbindelse til mysql 2 gange, og du prøver også at lukke den 2 gange. Men i det du prøver at lukke forbindelsen 2. gang, kan den ikke finde nogen 'MySQL-Link resource' da forbindelsen allerede er lukket (Man kan heller ikke lukke en dør som allerede er lukket!!).
Avatar billede usse Nybegynder
11. marts 2003 - 21:36 #5
Jeg troede at når den åbnede den hemmelige side ville det kræve åbning/lukning af databasen... men det gør det ikke :)
Jeg har nu lavet koden om til følgende, men koden melder stadig fejl..
her kommer fejlen: You have an error in your SQL syntax near ' '', '', '', '', '')' at line 2
Her kommer koden:

<HTML>
<HEAD>
</HEAD>
<BODY>
<?php
////////////////////////////////////////////////////////////////////////////////
// FUNKTIONS ERKLÆRINGER
////////////////////////////////////////////////////////////////////////////////

// FUNKTION TIL AT ÅBNER EN FORBINDELSE TIL DATABASEN!
function aabn_forbindelse_og_vaelgdb()
{
  $server = "localhost";
  $bruger = "navnet";
  $kodeord = "xxxxxx";
  $database = "rooster";
  $table = "login";

  if (!mysql_connect("$server","$bruger","$kodeord")) {
    udskriv_fejl("Kunne ikke oprette en forbindelse til MySQL.");
  }

  if(!mysql_select_db("$database")) {
    udskriv_fejl("Kunne ikke vælge databasen: $database");
  }
}
// FUNKTION TIL AT LUKKER FORBINDELSEN TIL DATABASEN IGEN!
function luk_forbindelse()
{
  if(!mysql_close()) {
    echo "Kunne ikke lukke forbindelsen til MySQL!";
  }
}
//
function getDataFromSqlQuery($SQL)
{
    $resultFromQuery = mysql_query($SQL);
    while($row = mysql_fetch_array($resultFromQuery)) {
      $resultArray[] = $row;
    }
  if (!isset($resultArray)) {
      $resultArray = FALSE;
  }
  return $resultArray;
}
// FUNKTION TIL AT UDSKRIVE FEJL MED
function udskriv_fejl($STR)
{
    print("<b>$STR</b>");
}
////////////////////////////////////////////////////////////////////////////////
// HER STARTER SCRIPTET
////////////////////////////////////////////////////////////////////////////////

// ÅBNER EN FORBINDELSE TIL DATABASEN
aabn_forbindelse_og_vaelgdb();

if(isset($_GET['action']) && $_GET['action'] == "login") {
    if($_POST['login_navn'] == "") {
      print "Du har ikke indtastet et brugernavn!";
    } elseif($_POST['login_kode'] == "") {
      print "Du har ikke indtastet en password!";
    } else {
      #SQL STRENG
      $tjek = "
      SELECT navn, kode
      FROM login
      WHERE navn = '".$_POST['login_navn']."'
        AND kode = '".$_POST['login_kode']."'";
      $return_from_query = getDataFromSqlQuery($tjek);
      if($return_from_query[0]['navn'] == $_POST['login_navn'] && $return_from_query[0]['kode'] == $_POST['login_kode']){

?>
<FONT>Den hemmlige side..</FONT>
<?
$tabel = "rooster";
$name = $navn;
$age = $alder;
$mail = $brev;
$status = $opgave;
$home = $hjem;
$hardware = $udstyr;
$qvote = $besked;
$insertSQL = "insert into $tabel (name, age, mail, status, home, hardware, qvote)
              values ('$name', $age, '$mail', '$status', '$home', '$hardware', '$qvote')";
mysql_query($insertSQL) or die(mysql_error());
?>
<FORM ACTION="<? echo $_SERVER["PHP_SELF"];?>" METHOD="get" enctype="text/plain">
<INPUT ID="box" NAME="navn" TYPE="text" VALUE=""><BR>
<INPUT ID="box" NAME="alder" TYPE="text" VALUE=""><BR>
<INPUT ID="box" NAME="brev" TYPE="text" VALUE=""><BR>
<INPUT ID="box" NAME="opgave" TYPE="text" VALUE=""><BR>
<INPUT ID="box" NAME="hjem" TYPE="text" VALUE=""><BR>
<INPUT ID="box" NAME="udstyr" TYPE="text" VALUE=""><BR>
<INPUT ID="box" NAME="besked" TYPE="text" VALUE=""><BR>
<INPUT ID="button" TYPE="submit" VALUE="Send">&nbsp;<INPUT ID="button" TYPE="reset" VALUE="Reset">
</FORM>
<A HREF="/zerocontrol/rooster.php">tilbage til roosters</A>
<?
        } else {
        echo "Der er fejl i enten brugernavn eller password!";
        }
    }
}
?>

<?
// LUKKER FORBINDELSEN TIL DATABASEN
luk_forbindelse();
?>
</BODY>
</HTML>
Avatar billede erikjacobsen Ekspert
11. marts 2003 - 22:35 #6
Sp skal du jo nok
$name = $_GET['navn'};
$age = $_GET['alder'};

osv...
Avatar billede usse Nybegynder
11. marts 2003 - 22:59 #7
kan du ikke lige prøve at lave koden om... for en sikkerhedsskyld.
forresten skal det ikke være?
Sp skal du jo nok
$name = $_GET['navn'];
$age = $_GET['alder'];
Avatar billede erikjacobsen Ekspert
11. marts 2003 - 23:01 #8
Det må du selv lave om. Det er li'som ikke mit projekt ;)
Avatar billede usse Nybegynder
12. marts 2003 - 18:50 #9
jeg kan stadig ikke få det til at virke..... :(
Da man har logget ind fra siden til den hemmelige side, skal den hente de oplysninger fra databasen (rooster) og tabelen (rooster), ind i "form" og her skal det være muligt at ændre sine oplysninger..
Her kommer koden:

<HTML>
<HEAD>
</HEAD>
<BODY>
<?php
////////////////////////////////////////////////////////////////////////////////
// FUNKTIONS ERKLÆRINGER
////////////////////////////////////////////////////////////////////////////////

// FUNKTION TIL AT ÅBNER EN FORBINDELSE TIL DATABASEN!
function aabn_forbindelse_og_vaelgdb()
{
  $server = "localhost";
  $bruger = "usse";
  $kodeord = "220884";
  $database = "rooster";
  $table = "login";

  if (!mysql_connect("$server","$bruger","$kodeord")) {
    udskriv_fejl("Kunne ikke oprette en forbindelse til MySQL.");
  }

  if(!mysql_select_db("$database")) {
    udskriv_fejl("Kunne ikke vælge databasen: $database");
  }
}
// FUNKTION TIL AT LUKKER FORBINDELSEN TIL DATABASEN IGEN!
function luk_forbindelse()
{
  if(!mysql_close()) {
    echo "Kunne ikke lukke forbindelsen til MySQL!";
  }
}
//
function getDataFromSqlQuery($SQL)
{
    $resultFromQuery = mysql_query($SQL);
    while($row = mysql_fetch_array($resultFromQuery)) {
      $resultArray[] = $row;
    }
  if (!isset($resultArray)) {
      $resultArray = FALSE;
  }
  return $resultArray;
}
// FUNKTION TIL AT UDSKRIVE FEJL MED
function udskriv_fejl($STR)
{
    print("<b>$STR</b>");
}
////////////////////////////////////////////////////////////////////////////////
// HER STARTER SCRIPTET
////////////////////////////////////////////////////////////////////////////////

// ÅBNER EN FORBINDELSE TIL DATABASEN
aabn_forbindelse_og_vaelgdb();

if(isset($_GET['action']) && $_GET['action'] == "login") {
    if($_POST['login_navn'] == "") {
      print "Du har ikke indtastet et brugernavn!";
    } elseif($_POST['login_kode'] == "") {
      print "Du har ikke indtastet en password!";
    } else {
      #SQL STRENG
      $tjek = "
      SELECT navn, kode
      FROM login
      WHERE navn = '".$_POST['login_navn']."'
        AND kode = '".$_POST['login_kode']."'";
      $return_from_query = getDataFromSqlQuery($tjek);
      if($return_from_query[0]['navn'] == $_POST['login_navn'] && $return_from_query[0]['kode'] == $_POST['login_kode']){

?>
<FONT>Den hemmelige side..</FONT>
<?
$tabel = "rooster";
$navn = $_GET['name'];
$alder = $_GET['age'];
$brev = $_GET['mail'];
$opgave = $_GET['status'];
$hjem = $_GET['home'];
$udstyr = $_GET['hardware'];
$besked = $_GET['qvote'];
$insertSQL = "insert into $tabel (name, age, mail, status, home, hardware, qvote)
              values ('$navn', $alder, '$brev', '$opgave', '$hjem', '$udstyr', '$besked')";
mysql_query($insertSQL) or die(mysql_error());
?>
<FORM ACTION="<? echo $_SERVER["PHP_SELF"];?>" METHOD="get" enctype="text/plain">
name:<INPUT ID="box" NAME="navn" TYPE="text" VALUE=""><BR>
age:<INPUT ID="box" NAME="alder" TYPE="text" VALUE=""><BR>
mail:<INPUT ID="box" NAME="brev" TYPE="text" VALUE=""><BR>
status:<INPUT ID="box" NAME="opgave" TYPE="text" VALUE=""><BR>
home:<INPUT ID="box" NAME="hjem" TYPE="text" VALUE=""><BR>
hardware:<INPUT ID="box" NAME="udstyr" TYPE="text" VALUE=""><BR>
msg:<INPUT ID="box" NAME="besked" TYPE="text" VALUE=""><BR>
<INPUT ID="button" TYPE="submit" VALUE="Send">&nbsp;<INPUT ID="button" TYPE="reset" VALUE="Reset">
</FORM>
<A HREF="/zerocontrol/rooster.php">tilbage til roosters</A>
<?
        } else {
        echo "Der er fejl i enten brugernavn eller password!";
        }
    }
}
?>

<?
// LUKKER FORBINDELSEN TIL DATABASEN
luk_forbindelse();
?>
</BODY>
</HTML>
Avatar billede erikjacobsen Ekspert
12. marts 2003 - 18:58 #10
"jeg kan stadig ikke få det til at virke" - jamen, den oplysning kan jeg
ikke bruge til noget som helst. Hvad er det der ikke virker?

På den anden side: glem det - jeg hopper ud af spørgsmålet.
Avatar billede usse Nybegynder
12. marts 2003 - 19:45 #11
i form inputs.. hvordan henter jeg en værdi fra en database ind et såkaldt input?
Avatar billede usse Nybegynder
13. marts 2004 - 00:53 #12
Har fixet det
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