Avatar billede rampagezz Nybegynder
27. september 2003 - 17:57 Der er 61 kommentarer og
1 løsning

Kan ikke ændre i databasen.!

Så fik jeg lagt spørgsmålet i rigtige kategori..
Her er mit problem..

Jeg har hentet et login-system på lojmann.dk, og jeg har også tilpasset den til min side. Problemet er at når man har oprettet en bruger, og logget ind, skal man kunne rette i sine profil oplysninger, men det kan man ikke.. Den skriver: "Du skal udfylde alle felterne som har en * ud for sig!". Som der også står i "edit_profil.php".

Side: www.goaforum.dk/indexx


sådan ser edit_profil.php ud:

<?
    session_start();
  require("db_ind.inc");
  $passquery = mysql_query("SELECT kodeord FROM profiler WHERE brugernavn = '$brugernavn'");
  if (!mysql_num_rows($passquery))
    {
      echo "Ugyldigt brugernavn!<p>";
      exit();
    }
  else
    {
      $row = mysql_fetch_array($passquery);
      $dbpassword = $row["kodeord"];
      if($dbpassword == $kodeord)
        {
          $login = (true);
        }
      if ($dbpassword != $kodeord)
        {
          echo "Forkert brugernavn eller password!!!<br>";
          echo "Hvis du ikke kan huske dit password, står det i den mail du fik tilsendt ved oprettelsen. Skulle du også have mistet den mail, så kan du få den tilsendt, ved at trykker <a href=\"glemtkode.php\">her</a>.<br>";
          exit();
        }
    }
?>

<!-- Her skal <HTML> starte-->

<?

  if(!$fornavne || !$efternavn || !$adresse || !$postnr || !$by || !$email || !$kodeord)
    {
      echo "Du skal udfylde alle felterne som har en <b>*<b/> ud for sig!";
      exit();
    }
  else
    {
      addslashes($fornavne);
      addslashes($efternavn);
      addslashes($adresse);
      addslashes($postnr);
      addslashes($by);
      addslashes($mobil);
      addslashes($email);
      addslashes($kodeord);
      $kodeord = md5($new_password);
      $today = date("d-m-Y");
      include("db_ind.inc");
      $update_profil = mysql_query("UPDATE profiler SET fornavne = '$fornavne', efternavn = '$efternavn', adresse = '$adresse', postnr = '$postnr', by = '$by', mobil = '$mobil', email = '$email', kodeord = '$kodeord', lastlogin = '$today' WHERE brugernavn = '$brugernavn'");
      mail($email, "Rettelse af din profil på ???.dk", "Hej $fornavne $efternavn...\n\n Du har redigeret din personlige profil på ???.dk, her er de nye data der er registrer.\n Hvis nogen af dem er forkerte, bør du straks rette dem, ved at logge ind på siden og vælge rediger profil.\n\n Fornavne: $fornavne\n Efternavn: $efternavn\n Adresse: $adresse\n Port Nr. & By: $postnr $by\n Mobil: $mobil\n Bruger navn: $brugernavn\n Password: $passworda\n E-mail: $email\n\n Vi ønsker dig rigtig god fornøjelse med dit medlemsskab.\n\n Med Venlig Hilsen\n\n ???.dk","From: user@???.dk\nReply-To: user@???.dk");
           
            echo "Din profil er nu blevet opdateret.";
    }

?>

<!-- Evt. link til log_ud.php, i tilfælde af password skift!-->

-----------------------------------------------------

Jeg håber i kan hjælpe mig, og er villig til at give 100 point..
Avatar billede erikjacobsen Ekspert
27. september 2003 - 17:58 #1
$update_profil = mysql_query("UPDATE profiler SET fornavne = '$fornavne', efternavn = '$efternavn', adresse = '$adresse', postnr = '$postnr', `by` = '$by', mobil = '$mobil', email = '$email', kodeord = '$kodeord', lastlogin = '$today' WHERE brugernavn = '$brugernavn'") or die(mysql_error());
Avatar billede rampagezz Nybegynder
27. september 2003 - 17:59 #2
Hvis i vil teste problemet, kan i prøve at oprette en bruger, logge ind, og inde under profil-ret profil, kan i jo prøve at ændre..
Avatar billede rampagezz Nybegynder
27. september 2003 - 18:06 #3
Jeg prøvede at sætte den sidste sætning ind, som var den eneste ændring, men det hjalp ikke.. Var det det du mente jeg skulle??
Avatar billede erikjacobsen Ekspert
27. september 2003 - 18:12 #4
Ja ;)  "hjalp ikke" betyder hvad? Kom der en fejlbesked eller hvad?
Avatar billede rampagezz Nybegynder
27. september 2003 - 18:19 #5
Nej den skrev præcis det samme som før. "Du skal udfylde alle felterne som har en * ud for sig!".
Avatar billede erikjacobsen Ekspert
27. september 2003 - 18:24 #6
Nå ja, det sagde du jo også fra start. Du skal sikkert for alle dine
variabler:

$brugernavn = $_GET['brugernavn'];
Avatar billede rampagezz Nybegynder
27. september 2003 - 18:26 #7
Det vil sige at jeg skal ændre "$brugernavn" til "$_GET['brugernavn'];" i alle mine filer..?
Avatar billede erikjacobsen Ekspert
27. september 2003 - 18:28 #8
Eller skrive et antal linier af den slags i toppen. Det er den 'nye'
indstilling i PHP - du anvender den 'gamle'.

Dog: er der brugt "post" i formen, så skal du $_POST
Avatar billede rampagezz Nybegynder
27. september 2003 - 18:35 #9
Jeg prøvede at ændre "$brugernavn" til "$_GET['brugernavn'];" i edit_profil.php og så kom denne fejlmeddelelse da jeg prøvede at ændre i databasen:

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /home/rampagezz/public_html/edit_profil.php on line 4
Avatar billede rampagezz Nybegynder
27. september 2003 - 18:36 #10
Hvis jeg skal skrive det i toppen skal der så stå:

$brugernavn = $_GET['brugernavn'];
Avatar billede rampagezz Nybegynder
27. september 2003 - 19:07 #11
Det hjælper ikke.. Hvad skal jeg gøre?
Avatar billede erikjacobsen Ekspert
27. september 2003 - 19:15 #12
hvad laver du?
Avatar billede rampagezz Nybegynder
27. september 2003 - 19:26 #13
Jeg har prøvet at skrive: $brugernavn = $_GET['brugernavn']; i toppen af filen. Og det ændrede ikke noget... Den skrev det samme ("Du skal udfylde alle felterne som har en * ud for sig!")..
Avatar billede erikjacobsen Ekspert
27. september 2003 - 19:28 #14
Men det er vel ikke den eneste linie du skriver ... ?
Avatar billede rampagezz Nybegynder
27. september 2003 - 19:28 #15
Så prøvede jeg at fjerne:

if(!$fornavne || !$efternavn || !$adresse || !$postnr || !$by || !$email || !$kodeord)
    {
      echo "Du skal udfylde alle felterne som har en <b>*<b/> ud for sig!";
      exit();
    }
  else
    {

-------------------

Sådan at filen kom til at se sådan her ud:

<?



    session_start();
  require("db_ind.inc");
  $passquery = mysql_query("SELECT kodeord FROM profiler WHERE brugernavn = '$brugernavn'");
  if (!mysql_num_rows($passquery))
    {
      echo "Ugyldigt brugernavn!<p>";
      exit();
    }
  else
    {
      $row = mysql_fetch_array($passquery);
      $dbpassword = $row["kodeord"];
      if($dbpassword == $kodeord)
        {
          $login = (true);
        }
      if ($dbpassword != $kodeord)
        {
          echo "Forkert brugernavn eller password!!!<br>";
          echo "Hvis du ikke kan huske dit password, står det i den mail du fik tilsendt ved oprettelsen. Skulle du også have mistet den mail, så kan du få den tilsendt, ved at trykker <a href=\"glemtkode.php\">her</a>.<br>";
          exit();
        }
    }
?>

<!-- Her skal <HTML> starte-->

<?


      addslashes($fornavne);
      addslashes($efternavn);
      addslashes($adresse);
      addslashes($postnr);
      addslashes($by);
      addslashes($mobil);
      addslashes($email);
      addslashes($kodeord);
      $kodeord = md5($new_password);
      $today = date("d-m-Y");
      include("db_ind.inc");
      $update_profil = mysql_query("UPDATE profiler SET fornavne = '$fornavne', efternavn = '$efternavn', adresse = '$adresse', postnr = '$postnr', by = '$by', mobil = '$mobil', email = '$email', kodeord = '$kodeord', lastlogin = '$today' WHERE brugernavn = '$brugernavn'");
      mail($email, "Rettelse af din profil på ???.dk", "Hej $fornavne $efternavn...\n\n Du har redigeret din personlige profil på ???.dk, her er de nye data der er registrer.\n Hvis nogen af dem er forkerte, bør du straks rette dem, ved at logge ind på siden og vælge rediger profil.\n\n Fornavne: $fornavne\n Efternavn: $efternavn\n Adresse: $adresse\n Port Nr. & By: $postnr $by\n Mobil: $mobil\n Bruger navn: $brugernavn\n Password: $passworda\n E-mail: $email\n\n Vi ønsker dig rigtig god fornøjelse med dit medlemsskab.\n\n Med Venlig Hilsen\n\n ???.dk","From: user@???.dk\nReply-To: user@???.dk");
           
            echo "Din profil er nu blevet opdateret.";
    }

?>

<!-- Evt. link til log_ud.php, i tilfælde af password skift!-->

Og så skrev den:

"Din profil er nu blevet opdateret."

Men den havde ikke ændret noget i databasen..
Avatar billede erikjacobsen Ekspert
27. september 2003 - 19:30 #16
Jamen min ændring fra kl 17:58:53 mener jeg faktisk
Avatar billede rampagezz Nybegynder
27. september 2003 - 19:30 #17
Jeg er ikke hardcore i php.. Skal jeg skrive:

<? $brugernavn = $_GET['brugernavn']; ?>

Og så resten af filen..?
Avatar billede erikjacobsen Ekspert
27. september 2003 - 19:32 #18
Det er fair nok ;)

Men prøv lige at læse igen: "Du skal sikkert for alle dine
variabler:

$brugernavn = $_GET['brugernavn'];

"
Avatar billede rampagezz Nybegynder
27. september 2003 - 19:36 #19
Jeg har skrevet <? $brugernavn = $_GET['brugernavn']; ?> i toppen af filen, og nu skriver den:

Parse error: parse error in /home/rampagezz/public_html/edit_profil.php on line 51
Avatar billede rampagezz Nybegynder
27. september 2003 - 19:37 #20
Og på den linie står der kun:  }
Avatar billede erikjacobsen Ekspert
27. september 2003 - 19:44 #21
Så mangler der nok en {  -  du kan jo gå tilbage til dit oprindelige script.

Men "for alle dine variabler" betyder bare at du skal gøre det samme for
de andre.
Avatar billede rampagezz Nybegynder
27. september 2003 - 19:48 #22
Det vil sige at jeg skal sætte "$_GET['brugernavn']" alle steder hvor der står: "$brugernavn"
Avatar billede rampagezz Nybegynder
27. september 2003 - 19:49 #23
Eller mener du på alle sider der hører til denne?
Avatar billede rampagezz Nybegynder
27. september 2003 - 19:55 #24
Ok nu har jeg ændret: $brugernavn = $_GET['brugernavn']; alle stederne på siden. og nu kommer denne fejlmeddelelse:

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /home/rampagezz/public_html/edit_profil.php on line 10
Avatar billede erikjacobsen Ekspert
27. september 2003 - 20:01 #25
Jo, men i en tekststreng kan du ikke skrive

"  ....  $_GET['brugernavn'] ..."

men enten

"  ....  $_GET[brugernavn] ..."

eller

"  ....  {$_GET['brugernavn']} ..."

Jeg synes nu det er nemmest bare at hive dem over i normale variabler i
starten af scriptet.
Avatar billede rampagezz Nybegynder
27. september 2003 - 20:03 #26
Kan du lave en variabel til mig, til at sætte i starten af scriptet?
Avatar billede rampagezz Nybegynder
27. september 2003 - 20:04 #27
Er det ikke bare at skrive:

<? $brugernavn = $_GET['brugernavn']; ?>

i toppen..?
Avatar billede erikjacobsen Ekspert
27. september 2003 - 20:07 #28
Æhm, hvordan ser dit script ud nu - det ser ud til jeg skal lave det for dig *g*
Avatar billede rampagezz Nybegynder
27. september 2003 - 20:07 #29
Nu har jeg ændret dem så de ser sådan her ud:

$_GET[brugernavn]

Og nu skriver den:

Ugyldigt brugernavn!
Avatar billede rampagezz Nybegynder
27. september 2003 - 20:09 #30
Scriptet ser sådan ud:

<?
session_start();
  require("db_ind.inc");
  $passquery = mysql_query("SELECT kodeord FROM profiler WHERE brugernavn = '$_GET[brugernavn]'");
  if (!mysql_num_rows($passquery))
    {
      echo "Ugyldigt brugernavn!<p>";
      exit();
    }
  else
    {
      $row = mysql_fetch_array($passquery);
      $dbpassword = $row["kodeord"];
      if($dbpassword == $kodeord)
        {
          $login = (true);
        }
      if ($dbpassword != $kodeord)
        {
          echo "Forkert brugernavn eller password!!!<br>";
          echo "Hvis du ikke kan huske dit password, står det i den mail du fik tilsendt ved oprettelsen. Skulle du også have mistet den mail, så kan du få den tilsendt, ved at trykker <a href=\"glemtkode.php\">her</a>.<br>";
          exit();
        }
    }
?>

<!-- Her skal <HTML> starte-->

<?

  if(!$fornavne || !$efternavn || !$adresse || !$postnr || !$by || !$email || !$kodeord)
    {
      echo "Du skal udfylde alle felterne som har en <b>*<b/> ud for sig!";
      exit();
    }
  else
    {
      addslashes($fornavne);
      addslashes($efternavn);
      addslashes($adresse);
      addslashes($postnr);
      addslashes($by);
      addslashes($mobil);
      addslashes($email);
      addslashes($kodeord);
      $kodeord = md5($new_password);
      $today = date("d-m-Y");
      include("db_ind.inc");
      $update_profil = mysql_query("UPDATE profiler SET fornavne = '$fornavne', efternavn = '$efternavn', adresse = '$adresse', postnr = '$postnr', by = '$by', mobil = '$mobil', email = '$email', kodeord = '$kodeord', lastlogin = '$today' WHERE brugernavn = '$_GET[brugernavn]'") or die(mysql_error());
      mail($email, "Rettelse af din profil på ???.dk", "Hej $fornavne $efternavn...\n\n Du har redigeret din personlige profil på ???.dk, her er de nye data der er registrer.\n Hvis nogen af dem er forkerte, bør du straks rette dem, ved at logge ind på siden og vælge rediger profil.\n\n Fornavne: $fornavne\n Efternavn: $efternavn\n Adresse: $adresse\n Port Nr. & By: $postnr $by\n Mobil: $mobil\n Bruger navn: $_GET[brugernavn]\n Password: $passworda\n E-mail: $email\n\n Vi ønsker dig rigtig god fornøjelse med dit medlemsskab.\n\n Med Venlig Hilsen\n\n ???.dk","From: user@???.dk\nReply-To: user@???.dk");
           
            echo "Din profil er nu blevet opdateret.";
    }

?>

<!-- Evt. link til log_ud.php, i tilfælde af password skift!-->
Avatar billede erikjacobsen Ekspert
27. september 2003 - 20:18 #31
Det er utestet, og du skal udskifte $_GET med $_POST hvis din form bruger method="post"

<?
session_start();

$fornavne=$_GET['fornavne'];
$efternavn=$_GET['efternavn'];
$adresse=$_GET['adresse'];
$postnr=$_GET['postnr'];
$by=$_GET['by'];
$email=$_GET['email'];
$kodeord=$_GET['kodeord'];

  require("db_ind.inc");
  $passquery = mysql_query("SELECT kodeord FROM profiler WHERE brugernavn = '$brugernavn'");
  if (!mysql_num_rows($passquery))
    {
      echo "Ugyldigt brugernavn!<p>";
      exit();
    }
  else
    {
      $row = mysql_fetch_array($passquery);
      $dbpassword = $row["kodeord"];
      if($dbpassword == $kodeord)
        {
          $login = (true);
        }
      if ($dbpassword != $kodeord)
        {
          echo "Forkert brugernavn eller password!!!<br>";
          echo "Hvis du ikke kan huske dit password, står det i den mail du fik tilsendt ved oprettelsen. Skulle du også have mistet den mail, så kan du få den tilsendt, ved at trykker <a href=\"glemtkode.php\">her</a>.<br>";
          exit();
        }
    }
?>

<!-- Her skal <HTML> starte-->

<?

  if(!$fornavne || !$efternavn || !$adresse || !$postnr || !$by || !$email || !$kodeord)
    {
      echo "Du skal udfylde alle felterne som har en <b>*<b/> ud for sig!";
      exit();
    }
  else
    {
      addslashes($fornavne);
      addslashes($efternavn);
      addslashes($adresse);
      addslashes($postnr);
      addslashes($by);
      addslashes($mobil);
      addslashes($email);
      addslashes($kodeord);
      $kodeord = md5($new_password);
      $today = date("d-m-Y");
      include("db_ind.inc");
      $update_profil = mysql_query("UPDATE profiler SET fornavne = '$fornavne', efternavn = '$efternavn', adresse = '$adresse', postnr = '$postnr', `by` = '$by', mobil = '$mobil', email = '$email', kodeord = '$kodeord', lastlogin = '$today' WHERE brugernavn = '$brugernavn'") or die(mysql_error());
      mail($email, "Rettelse af din profil på ???.dk", "Hej $fornavne $efternavn...\n\n Du har redigeret din personlige profil på ???.dk, her er de nye data der er registrer.\n Hvis nogen af dem er forkerte, bør du straks rette dem, ved at logge ind på siden og vælge rediger profil.\n\n Fornavne: $fornavne\n Efternavn: $efternavn\n Adresse: $adresse\n Port Nr. & By: $postnr $by\n Mobil: $mobil\n Bruger navn: $brugernavn\n Password: $passworda\n E-mail: $email\n\n Vi ønsker dig rigtig god fornøjelse med dit medlemsskab.\n\n Med Venlig Hilsen\n\n ???.dk","From: user@???.dk\nReply-To: user@???.dk");
         
            echo "Din profil er nu blevet opdateret.";
    }

?>

<!-- Evt. link til log_ud.php, i tilfælde af password skift!-->
Avatar billede erikjacobsen Ekspert
27. september 2003 - 20:19 #32
Har du brug for addslashes skal det forøvrigt være

$fornavne=addslashes($fornavne);
Avatar billede erikjacobsen Ekspert
27. september 2003 - 20:20 #33
Og der er vist noget navnerod omkring kodeord/password
Avatar billede rampagezz Nybegynder
27. september 2003 - 20:25 #34
Addslashes... Hvad er det egentlig.?
Er det ikke hvor den tilføjer til databasen?

Roden skyldes at det jeg hentede på lojmann.dk var skrevet med engelsk, og jeg havde lavet en database på dansk. og hvis jeg ændrede den til engelsk, skulle jeg lave om på en masse sider..
Avatar billede rampagezz Nybegynder
27. september 2003 - 20:27 #35
Jeg har lige prøvet at bruge det script du har lavet, og nu skriver den:

Forkert brugernavn eller password!!!
Hvis du ikke kan huske dit password, står det i den mail du fik tilsendt ved oprettelsen. Skulle du også have mistet den mail, så kan du få den tilsendt, ved at trykker her.
Avatar billede erikjacobsen Ekspert
27. september 2003 - 20:28 #36
Jeg har da vist også glemt:

  $brugernavn = $_GET['brugernavn'];
Avatar billede rampagezz Nybegynder
27. september 2003 - 20:31 #37
Hmm. Nu skriver den:

Ugyldigt brugernavn!

igen.
Avatar billede rampagezz Nybegynder
27. september 2003 - 20:32 #38
altså efter at jeg havde tilføjet:

$brugernavn = $_GET['brugernavn'];
Avatar billede rampagezz Nybegynder
27. september 2003 - 20:35 #39
Nu kan jeg slet ikke logge ind.. Skal jeg tilføje det samme script i min login-fil?
Avatar billede erikjacobsen Ekspert
27. september 2003 - 20:37 #40
Jeg synes vi bruger for lang tid på det her. Hvad står der i dine variabler,
og hvordan ser din <form> ud?
Avatar billede rampagezz Nybegynder
27. september 2003 - 20:41 #41
Min form ser sådan her ud:

<?

$brugernavn = $_GET['brugernavn'];

    session_start();
  require("db_ind.inc");
  $passquery = mysql_query("SELECT kodeord FROM profiler WHERE brugernavn = '$brugernavn'");
  if (!mysql_num_rows($passquery))
    {
      echo "Ugyldigt brugernavn!<p>";
      exit();
    }
  else
    {
      $row = mysql_fetch_array($passquery);
      $dbpassword = $row["kodeord"];
      if($dbpassword == $password)
        {
          $login = (true);
        }
      if ($dbpassword != $kodeord)
        {
          echo "Forkert brugernavn eller password!!!<br>";
          echo "Hvis du ikke kan huske dit password, står det i den mail du fik tilsendt ved oprettelsen. Skulle du også have mistet den mail, så kan du få den tilsendt, ved at trykker <a href=\"glemtkode.php\">her</a>.<br>";
          exit();
        }
    }
?>

<!-- -her skal <HTML> starte -->

<?

  require("db_ind.inc");
  $get_data = mysql_query("SELECT * FROM profiler WHERE brugernavn = '$brugernavn'");
  $row = mysql_fetch_array($get_data);

    extract($row);

?>

  <form action="edit_profil.php" method="get">

  *Fornavn:<br>
  <input type="text" size="30" name="fornavn" value="<? print $fornavne ?>" maxlength="50" class="input"><p>

  *Efternavn:<br>
  <input type="text" size="30" name="efternavn" value="<? print $efternavn ?>" maxlength="50" class="input"><p>

  *Adresse:<br>
  <input type="text" size="30" name="adresse" value="<? print $adresse ?>" maxlength="50" class="input"><p>

  *Post Nr.:<br>
  <input type="text" size="30" name="postnr" value="<? print $postnr ?>" maxlength="4" class="input"><p>

  *By:<br>
  <input type="text" size="30" name="bynavn" value="<? print $by ?>" maxlength="50" class="input"><p>

  Mobil:<br>
  <input type="text" size="30" name="mobil" value="<? print $mobil ?>" maxlength="8" class="input"><p>

  *E-mail:<br>
  <input type="text" size="30" name="email" value="<? print $email ?>" maxlength="8" class="input"><p>

  *Password: (<font size="2">skal udfyldes!)</font><br>
  <input type="password" size="30" name="new_password" maxlength="8" class="input"><p>

  <input type="submit" name="submit" value="Ret personlig data" class="button">

</form>

-----------------------------------

Jeg har lige prøvet at tilføje:

    $brugernavn = $_GET['brugernavn'];
    $kodeord=$_GET['kodeord'];

til min fil der hedder: tjek_user.php

og nu kan jeg logge ind igen...
Avatar billede erikjacobsen Ekspert
27. september 2003 - 20:47 #42
Jeg kan ikke se et felt, der hedder brugernavn. Og jeg ikke se et felt der
hedder by.
Avatar billede rampagezz Nybegynder
27. september 2003 - 20:57 #43
Der er et felt der hedder "by" men ikke et der hedder "Brugernavn" i edit_profil.php

Men det er fordi at man ikke skal kunne ændre sit brugernavn.
Avatar billede erikjacobsen Ekspert
27. september 2003 - 21:00 #44
Men så har du ikke brugernavnet på næste side. Du skal bare bruge et hidden felt.
Avatar billede erikjacobsen Ekspert
27. september 2003 - 21:01 #45
...og hvor ser du det felt der hedder by
Avatar billede rampagezz Nybegynder
27. september 2003 - 21:06 #46
Er det ikke denne her du mener: (name var sat til ="bynavn", men jeg har lige ændret det.

*By:<br>
  <input type="text" size="30" name="by" value="<? print $by ?>" maxlength="50" class="input"><p>
Avatar billede erikjacobsen Ekspert
27. september 2003 - 21:10 #47
jo, men så var den der heller ikke før.
Avatar billede rampagezz Nybegynder
27. september 2003 - 21:14 #48
Nej det er rigtigt nok.. Men den skriver stadig "Ugyldigt brugernavn!", når jeg prøver at ændre den.. :-|
Avatar billede rampagezz Nybegynder
27. september 2003 - 21:16 #49
Altså når jeg prøver at ændre profilen, som jeg har oprettet
Avatar billede erikjacobsen Ekspert
27. september 2003 - 21:16 #50
Hvad har du gjort for at få brugernavn med over? Hidden felt, som jeg foreslog?
Avatar billede rampagezz Nybegynder
27. september 2003 - 21:20 #51
Nej sorry.. Det havde jeg lige glemt.. Men skal den se nogenlunde sådan her ud:

<input type="hidden" name="$brugernavn">
Avatar billede erikjacobsen Ekspert
27. september 2003 - 21:22 #52
type="hidden" er korrekt, og gør så bare det samme som ved de andre felter
Avatar billede rampagezz Nybegynder
27. september 2003 - 21:35 #53
Nu ser formen sådan ud:

  <form action="edit_profil.php" method="get">

  *Fornavn:<br>
  <input type="text" size="30" name="fornavn" value="<? print $fornavne ?>" maxlength="50" class="input"><p>

  *Efternavn:<br>
  <input type="text" size="30" name="efternavn" value="<? print $efternavn ?>" maxlength="50" class="input"><p>

  *Adresse:<br>
  <input type="text" size="30" name="adresse" value="<? print $adresse ?>" maxlength="50" class="input"><p>

  *Post Nr.:<br>
  <input type="text" size="30" name="postnr" value="<? print $postnr ?>" maxlength="4" class="input"><p>

  *By:<br>
  <input type="text" size="30" name="by" value="<? print $by ?>" maxlength="50" class="input"><p>

  Mobil:<br>
  <input type="text" size="30" name="mobil" value="<? print $mobil ?>" maxlength="8" class="input"><p>

  *E-mail:<br>
  <input type="text" size="30" name="email" value="<? print $email ?>" maxlength="8" class="input"><p>

  *Password: (<font size="2">skal udfyldes!)</font><br>
  <input type="password" size="30" name="new_password" maxlength="8" class="input"><p>
  <input type="hidden" name="brugernavn" value="<? print $brugernavn ?>">
  <input type="submit" name="submit" value="Ret personlig data" class="button">

</form>
Avatar billede rampagezz Nybegynder
27. september 2003 - 21:37 #54
Men nu skriver den:

Forkert brugernavn eller password!!!
Hvis du ikke kan huske dit password, står det i den mail du fik tilsendt ved oprettelsen. Skulle du også have mistet den mail, så kan du få den tilsendt, ved at trykker her.
Avatar billede erikjacobsen Ekspert
27. september 2003 - 21:42 #55
Hvis jeg må citere mig selv: "Og der er vist noget navnerod omkring kodeord/password"
Avatar billede rampagezz Nybegynder
27. september 2003 - 21:45 #56
Ja men hvad er dit forslag? At jeg skal lave min database om? Altså kun feltet "kodeord".
Avatar billede rampagezz Nybegynder
27. september 2003 - 21:55 #57
Jeg har bare ændret alle stederne hvor der stod: $password --> $kodeord
Avatar billede erikjacobsen Ekspert
27. september 2003 - 22:01 #58
Der stod fx name="new_password"  --- hvad har du gjort der?
Avatar billede rampagezz Nybegynder
27. september 2003 - 22:11 #59
I min "add_profil.php står der:

<?
  $new_password = md5($kodeord);
  setcookie("coo_username","$brugernavn",time()+86400);
  setcookie("coo_password","$new_password",time()+86400);
  setcookie("coo_passworda","$kodeord",time()+86400);
  setcookie("coo_email","$email",time()+86400);
?>

<!-- her skal <HTML> starte! -->

<?
  if (!$brugernavn || !$new_password || !$email)
    {
      echo "<font color=\"red\">Du skal udfylde alle tre felter inden du kan fortsætte!</font>";
      exit();
    }
  else
    {
      include("db_ind.inc");
      $tjek = mysql_query("SELECT * FROM profiler WHERE brugernavn = '$brugernavn'");
      if (mysql_num_rows($tjek))
        {
          echo "<font color=\"red\">Det ønskede brugernavn findes allerede!</font>";
          exit();
        }
      else
        {
          addslashes($brugernavn);
          addslashes($new_password);
          addslashes($email);
          include("db_ind.inc");
          $add_profil = mysql_query("INSERT INTO profiler (brugernavn, kodeord, email)" . "VALUES ('$brugernavn', '$new_password', '$email')");
                   
                    echo "Din profiler er nu blevet oprettet.";
        }
    }
?>

Jeg har ikke ændret "new_password"
Avatar billede erikjacobsen Ekspert
27. september 2003 - 22:16 #60
Li'som du skal have brugernavn med over igen, skal du vel have password med
over igen. Tror jeg nok.

Det du laver er principielt nemt nok - du skal bare holde dig klart hvad du
gør. Jeg smutter ud af spørgsmålet nu af 2 grunde: jeg har andet at lave,
og jeg synes ikke du hører efter hvad jeg siger (og så spilder vi tiden
begge to).
Avatar billede rampagezz Nybegynder
27. september 2003 - 22:23 #61
ok. ellers tak for hjælpen..!
Avatar billede rampagezz Nybegynder
20. juni 2004 - 13:32 #62
svar
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