Avatar billede public2 Nybegynder
11. maj 2009 - 09:34 Der er 1 løsning

Kendskab til db_DataObject fra PEAR.org?

Hej alle,

jeg er relativ ny til PHP (kommer fra ASP og .NET), men i forbindelse med min uddannelse og de opgaver vi får givet, så er det påkrævet at lave dem i PHP.

I forbindelse med min bachelor skal jeg så have lavet et større php-system, som jeg (heldigvis) ikke er alene om, men en af de anbefalinger vi har fået fra vores vejleder og underviser er, at bruge et modul til PHP ved navn "db_DataObject". I korte træk gør den håndteringen og SQL kaldene objekt-orienteret så de er nemmere at arbejde med og derved laver den også selv klasserne og ja det er i det hele taget skide smart :-)

Så er mit problem bare, at jeg har lavet lidt forud og bl.a. lavet et bruger-login system og et bruger-registrerings system, som naturligvis benytter sig af den oprindelige opbygning, ikke så meget nyt der.
Mit store problem er så, at jeg har pokkers til besvær med at få konverteret den gamle kode over i db_DataObject og gøre det velfungerende. Ved ikke om der er nogle med stor forstand på PEAR og db_dataobject, som har tid og lyst til at give et bud på hvordan jeg får rettet mine allerede eksisterende scripts ind i db_DataObjects termonologi.

Jeg kan sige at min største problem er bruger-login scriptet.

Min kode til login-scriptet ser således ud:

<?php
include 'user_dbc.php';

$user_email = mysql_real_escape_string($_POST['email']);

if ($_POST['Submit']=='Login')
{
$md5pass = md5($_POST['pwd']);
$sql = "SELECT id,user_email FROM users WHERE
            user_email = '$user_email' AND
            user_pwd = '$md5pass' AND user_activated='1'";
           
$result = mysql_query($sql) or die (mysql_error());
$num = mysql_num_rows($result);

    if ( $num != 0 ) {

        // A matching row was found - the user is authenticated.
      session_start();
      list($user_id,$user_email) = mysql_fetch_row($result);
        // this sets variables in the session
        $_SESSION['user']= $user_email; 
       
           
        if (isset($_GET['ret']) && !empty($_GET['ret']))
        {
        header("Location: $_GET[ret]");
        } else
        {
        header("Location: user_myaccount.php");
        }
        //echo "Logged in...";
        exit();
    }

header("Location: user_login.php?msg=Invalid Login");
//echo "Error:";
exit();       
}

?>
<?php
require_once "systemfiles/config_settings.php"
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title><?php echo($title) ?></title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />


</head>

<body>
<div id="container" >

<div id="content">

<?php if (isset($_GET['msg'])) { echo '<script language="javascript">alert("Invalid Login ")</script>'; } ?>
<?php //if (isset($_GET['msg'])) { echo "<div class=\"msg\"> $_GET[msg] </div><br>"; } ?>
<h2>Login</h2>
<table width="40%" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td><form name="form1" method="post" action="">
        <p> </p>
        <p align="center">Your Email
          <input name="email" type="text" id="email" class="inputboxusr">
        </p>
        <p align="center"> Password:
          <input name="pwd" type="password" id="pwd" class="inputboxpwd">
        </p>
        <p align="center">
          <input type="submit" name="Submit" value="Login">
        </p>
        <p align="center"><a href="user_register.php">Register</a> | <a href="user_forgot.php">Forgot</a></p>
      </form></td>
  </tr>
</table>
</div>

</div>
</body>
</html>

På forhånd tak for jeres tid og svar

Mvh
Emil
Avatar billede public2 Nybegynder
21. maj 2009 - 13:35 #1
Har selv fundet svaret!
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