Avatar billede th1 Nybegynder
31. august 2005 - 14:51 Der er 37 kommentarer og
1 løsning

skift kodeord for login

Hejsa  jeg vil gerne  have at man kan skifte kode  ord  men der kommer ingenting i min input  boxe  :(


Her er koden :


<?php

//start the session
session_start();

//check to make sure the session variable is registered
if(session_is_registered('username')){

}

else{

//the session variable isn't registered, send them back to the login page
header( "Location: http://www.max-gaming.dk/login/login.htm" );
}

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>Nyt dokument</title>
<meta name="generator" content="TSW WebCoder">
</head>

<body bgcolor="#000000">
<font color="#FF0000"
<?
include "mysql.php";

$query = mysql_query ("SELECT * FROM users WHERE username = '$_GET[username]'") or die(mysql_error());


while ($newsrow = mysql_fetch_array($query)){
}
        // Start af php
            if (!$_GET ["s"]) { ?>
            <form method="post" action="change.php?s=update&?id=<? $newsrow["id"]?>">
            Det nye password:<input type="text" name="password"><br>
            <input type="text" name="username" value="<? echo $newsrow[username]?>"><br>
            <input type="hidden" name="id" value="<? echo $newsrow[id]?>"><br>
            <input type="submit" value="Opdater">
            </form>
       
<?PHP
// start af update
}elseif ($_GET ["s"] == "update") {
//åbne forbindelse til servern
include "mysql.php";

$password = $_REQUEST["password"];
$id = $_REQUEST["id"];
$username = $_REQUEST["username"];
//dette for alle ting der skal opdateres


$query = "UPDATE `users` SET `password` = '$password', `username` = '$username' WHERE `id` = '$id'";
$newsrow = mysql_query($query);

echo "Nu er passwordet ændret ";
}?>
</body>
</html>

Der kommer ingen fejl  på  forhånd  tak  :)
Avatar billede jaw Nybegynder
31. august 2005 - 14:58 #1
Indeholder $_GET['username'] det rigtige username? Altså, husker du at smide det i adresselinien?

Og en lidt pænere syntax vil være:
$query = mysql_query ("SELECT * FROM users WHERE username = '".$_GET['username']."'") or die(mysql_error());
Avatar billede th1 Nybegynder
31. august 2005 - 15:23 #2
nej  det gør  jeg ikke skal man det ?  :(
Avatar billede th1 Nybegynder
31. august 2005 - 15:25 #3
så vil jeg heller have at  Id'et  kommer frem
Avatar billede jaw Nybegynder
31. august 2005 - 15:25 #4
En $_GET[] kommer fra adresselinien, så for at dit script skal virke, så skal brugernavnet i adresselinien, som f.eks.:

fil.php?username=john

Hvor havde du ellers tænkt dig, at brugernavnet skulle komme fra?
Avatar billede jaw Nybegynder
31. august 2005 - 15:26 #5
Så kan du jo lave:
fil.php?id=1

og forespørgslen:
$query = mysql_query("SELECT * FROM users WHERE id = '".$_GET['id']."'") or die(mysql_error());
Avatar billede th1 Nybegynder
31. august 2005 - 15:42 #6
ja  okey  godt  så  det gør  jeg takker  tænkte bare  ikke lige  om  hehe dumme mig ....
Avatar billede jaw Nybegynder
31. august 2005 - 15:44 #7
Hehe, ok. Vil det sige det virker, oder? :)
Avatar billede th1 Nybegynder
31. august 2005 - 16:05 #8
nej jeg kan ikke få den til at hente  ID  sådan ser  siden ud som  henter  ID:


<?php

//start the session
session_start();

//check to make sure the session variable is registered
if(session_is_registered('username')){

}

else{

//the session variable isn't registered, send them back to the login page
header( "Location: http://www.max-gaming.dk/login/login.htm" );
}

?>

<?
if($_GET["change.php"] ) {

$r = mysql_query("SELECT * FROM users WHERE username = '$_GET[username]") or die (mysql_error());
}
?>

<a href="cs/Admin">AdminiStration for CS</a><br /><br />
<a href="wow/Admin">AdminiStration for WoW</a><br /><br />
<a href="change.php?id=<?=$r[username];?>">Ændre dit password</a>
Avatar billede jaw Nybegynder
31. august 2005 - 16:09 #9
Først og fremmest, hvad vil du opnå med denne:
if($_GET["change.php"] ) {
?

Og så henter du jo stadig en forespørgsel, hvor du bruger $_GET['username']. Det vil kræve, at du har fil.php?username=john eller lign. Jeg er ikke længere helt med på hvad du vil, når du sådan ændrer så voldsomt på det indhold du paster...
Avatar billede th1 Nybegynder
31. august 2005 - 16:19 #10
meningen  med den jeg har lige  addet til  er at  den skal hente  iden  så den kommer  change.php?id=1    dvs  den  henter  ID'et  det  virker  ikke helt som jeg vil
Avatar billede jaw Nybegynder
31. august 2005 - 16:21 #11
Så skal du jo igen give den en måde at hente id'et på. Det kan igen være fil.php?id=1 og så:

if($_GET["id"] ) {

$r = mysql_query("SELECT * FROM users WHERE id= ".$_GET['id']) or die (mysql_error());
$row = mysql_fetch_array($r);
}
?>

<a href="cs/Admin">AdminiStration for CS</a><br /><br />
<a href="wow/Admin">AdminiStration for WoW</a><br /><br />
<a href="change.php?id=<?=$row['id'];?>">Ændre dit password</a>
Avatar billede th1 Nybegynder
31. august 2005 - 16:35 #12
hmm  det kan jeg ikke helt forstå    nu har jeg prøvet det  som du har  sagt for at hente  ID.... men det virker  ikke  :(  den henter ikke ID  som jeg synes er  underligt
Avatar billede jaw Nybegynder
31. august 2005 - 16:37 #13
Hvordan gør du? Og hedder feltet i tabellen id?
Avatar billede jaw Nybegynder
31. august 2005 - 16:40 #14
Og et eller andet sted vil det jo være ret tosset at udhente id'et fra databasen, når du allerede har det i adresselinien. (Altså du kender allerede id'et!)

Skal brugeren logge ind for at komme ind på den side, eller hvad? Og i så fald, sætter du sessions til det?
Avatar billede th1 Nybegynder
31. august 2005 - 16:40 #15
Kopier  og  ser  om det virker  ......  og  ja  Id  hedder  ID  ved mig  :)
Avatar billede jaw Nybegynder
31. august 2005 - 16:50 #16
Huh? Hvad vil du kopiere? Jeg er slet ikke med lige pt. :)
Avatar billede th1 Nybegynder
31. august 2005 - 17:00 #17
jeg  har kopieret  det her  ...


if($_GET["id"] ) {

$r = mysql_query("SELECT * FROM users WHERE id= ".$_GET['id']) or die (mysql_error());
$row = mysql_fetch_array($r);
}
?>



så  har  lige  prøvet  mig  frem med det  men jeg har ikke fået  det til at virke  endnu  :(
Avatar billede th1 Nybegynder
01. september 2005 - 08:46 #18
du har svaret mit spørgsmål så¨derfor vil jeg give dig dine point?
Avatar billede jaw Nybegynder
01. september 2005 - 13:00 #19
Jamen tak, tak, men jeg vil da gerne se om jeg kan få dig hjulpet helt, og få dig til at lure princippet i det.
Avatar billede th1 Nybegynder
03. september 2005 - 15:39 #20
okey  takker :)  hmmm jeg ved at jeg  skal hente  ID  med SESSION fordi det gør jeg med brugernavnet  øverst  i min kode  som ser sådan her ud:

<?php

//start the session
session_start();

//check to make sure the session variable is registered
if(session_is_registered('username')){

}

men jeg kan ikke rigtig  finde ud af at hente  ID med SESSION

kan du finde ud af det? :)
Avatar billede jaw Nybegynder
03. september 2005 - 20:23 #21
Det må vist være:
SELECT * FROM users WHERE username = '".$_SESSION['username']) or die(mysql_error());
Avatar billede th1 Nybegynder
04. september 2005 - 12:09 #22
hmm  kan det være  at jeg laver noget forkert fordi den henter ikke  "Username"...

Her  er min kode:

<?php

//start the session
session_start();

//check to make sure the session variable is registered
if(session_is_registered('username')){

}

else{

//the session variable isn't registered, send them back to the login page
header( "Location: http://www.max-gaming.dk/login/login.htm" );
}

?>

<?
if($_GET["username"] ) {

$r = mysql_query("SELECT * FROM users WHERE username = '".$_SESSION['username']) or die(mysql_error());
$row = mysql_fetch_array($r);
}
?>

<a href="cs/Admin">AdminiStration for CS</a><br /><br />
<a href="wow/Admin">AdminiStration for WoW</a><br /><br />
<a href="change.php?username=<?=$row['username'];?>">Ændre dit password</a>
Avatar billede nielle Nybegynder
04. september 2005 - 12:47 #23
Du skal i hvertfald rette:

$r = mysql_query("SELECT * FROM users WHERE username = '".$_SESSION['username']) or die(mysql_error());

- til:

$r = mysql_query("SELECT * FROM users WHERE username = '" . $_SESSION['username']) . "'" or die(mysql_error());
Avatar billede th1 Nybegynder
04. september 2005 - 13:55 #24
jeg  har prøvet  at rette  det til  du skriver...

Men jeg kan udmidlbart ikke lige  se  hvad jeg gør forkert... 

Det virker i hvert fald  ikke
Avatar billede nielle Nybegynder
04. september 2005 - 14:10 #25
Umiddelbart vil jeg mene at din kodestump kan simplifiseres til:

<?php
// Start the session
session_start();

// Check to make sure the session variable is registered
if (! session_is_registered('username'))
{
    // The session variable isn't registered, send them back to the login page
    header("Location: http://www.max-gaming.dk/login/login.htm");
}
else
{
    echo "<a href='cs/Admin'>AdminiStration for CS</a><br /><br />";
    echo "<a href='wow/Admin'>AdminiStration for WoW</a><br /><br />";
    echo "<a href='change.php?username=" . $_SESSION['username'] . ">Ændre dit password</a>";
}
?>

Der er i hvert fald ingen grund til at gå i databasen for at hente et brugernavn som du allerede har i din $_SESSION.
Avatar billede th1 Nybegynder
04. september 2005 - 15:51 #26
wee  takker  det virker nu....

nu mangler bare at få min update function til at virke :)
Avatar billede nielle Nybegynder
04. september 2005 - 18:16 #27
Hvordan ser din kode ud for den?
Avatar billede th1 Nybegynder
05. september 2005 - 13:26 #28
den  tror  jeg kan godt få selv  til  at virke  men jeg vil lige  prøve  først  selv...  og hvis jeg ikke kan  så vender  jeg tilbage  okey??
Avatar billede th1 Nybegynder
05. september 2005 - 14:56 #29
hmm jeg kan ikke rigtige  finde  ud  af  det... :S 

Men min  kode  ser sådan her ud:

// start af update
}elseif ($_GET ["s"] == "update") {
//oprette forbindelse til serveren
include "mysql.php";

$_SESSION["id"] = 'id';
$_SESSION["username"] = 'username';
$_SESSION["password"] = 'password';
//dette for alle ting der skal opdateres

mysql_query("UPDATE `users` set `password` = ". toData($_POST["password"])) .";

?>
<?
}
echo 'Nu er passwordet ændret';
?><?
}
echo 'Nu er passwordet ændret';
?>

Der kommer  denne fejl:

Parse error: parse error, unexpected $ in /customers/max-gaming.dk/max-gaming.dk/httpd.www/login/change.php on line 54

Dette  er linie 54:
?>

håber du kan hjælpe  mig  :)
Avatar billede nielle Nybegynder
05. september 2005 - 18:31 #30
}
    elseif ($_GET["s"] == "update")
    {
        // Oprette forbindelse til serveren
        include "mysql.php";

        $sql = "UPDATE users SET `password`='" . $_POST["password"] . "' WHERE username='" . $_POST["username"] . "'";
        mysql_query($sql) or die(mysql_error());
    }
    echo 'Nu er passwordet ændret';
}
?>
Avatar billede th1 Nybegynder
05. september 2005 - 19:21 #31
Jeg  siger mange tak  du burde at have  flere  point??
Avatar billede th1 Nybegynder
05. september 2005 - 19:26 #32
ups  nu  har lige  opdaget...  mine password  de  er lavet af md5  hvordan skal man så lave det updates 

håber du kan hjælpe  :)
Avatar billede nielle Nybegynder
05. september 2005 - 19:29 #33
Hvis dine passwords skal i gennem md5 kunne det se sådan her ud:

$sql = "UPDATE users SET `password`='" . md5($_POST["password"]) . "' WHERE username='" . $_POST["username"] . "'";
Avatar billede th1 Nybegynder
05. september 2005 - 23:40 #34
nielle  kan vi ikke lige  oprette  nyt  spg  så du kan få point....?
Avatar billede nielle Nybegynder
06. september 2005 - 06:53 #35
Hvis du gerne vil give mig nogle point, så kan du f.eks. bruge denne her:

http://expfaq.1go.dk/?id=30#giv_flere_point
Avatar billede th1 Nybegynder
07. september 2005 - 12:08 #36
det kan jeg  desværre  ikke fordi  jeg har lukket  spg....  så  jeg ved ikke hvad jeg skal gøre..
Avatar billede nielle Nybegynder
07. september 2005 - 17:36 #37
Den tekst, som er fremhævet i linket, angiver netop en metode til at give point efter at man har lukket sis spørgsmål. Men vi kan sagtens lige tage opskriften her:

Opret et spørgsmål i denne kategori med titlen:

Point til nielle

Når du opretter det, så inkludere du samtidigt url'et til dette her spørgsmål, sådan at folk kan se hvad det drejer sig om. :^)
Avatar billede th1 Nybegynder
09. september 2005 - 20:01 #38
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

IT-JOB

Politiets Efterretningstjeneste

Centerchef til Center for Applikationer i PET

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger IT-metodespecialist og projektkoordinator i Ballerup

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger en IT-supporterelev til Lokal IT på Flyvestation Karup

Capgemini Danmark A/S

Client Partner