Avatar billede ohhelpme Nybegynder
23. november 2008 - 22:00 Der er 44 kommentarer og
1 løsning

syntax erorr

Hej, igen :)
hva gør jeg galt?

Her er php koderne til login systemet:

tjek-login.php
---------------
<?
mysql_connect("ip på server", "brugernavn", "kodeord"); mysql_select_db("database navn");
$result = mysql_query("select password from users where brugernavn = '$brugernavn'")
or die (mysql_error());
$row = mysql_fetch_array($result);
if($row[password] == $HTTP_POST_VARS[password]){
echo 'korrekt password';
?>
<html>
<head>
<title>Welkommen</title>
</head>
<body>

<font color="#FFFFFF">velkommen</font>
--------------------------------------------------
tjek-opret.php
---------------------
<?
mysql_connect("ip på server", "brugernavn", "kodeord"); mysql_select_db("database navn");
$result = mysql_query("select brugernavn from users where brugernavn = '$brugernavn'")
or die (mysql_error());
$number = mysql_num_rows($result);
if ($number > 0) {
?>
<html>
<head>
<title>tjek-opret</title>
</head>
<body>
<br>
Velkommen du er logget ind!!
<br>
</body>
</html>
<br>
<?
print "Desværre brugernavnet er optaget";
} elseif ($brugernavn && $password) {
mysql_query("insert into users (brugernavn, password) values ('$brugernavn', '$password')")
or die(mysql_error());
} else {
print "Husk at udfylde alle felterne";
}
?> 

Håber i kan se hvad der er galt :)
Avatar billede erikjacobsen Ekspert
23. november 2008 - 22:06 #1
Hvilken fejl får du?

Drop brugen af $HTTP_POST_VARS og brug $_POST i stedet for.
Avatar billede ohhelpme Nybegynder
23. november 2008 - 22:08 #2
jeg får fejlen :Parse error: syntax error, unexpected $end in E:\hjemmesider\wwwtii\piimpmyartoo.tii.dk\tjek-login.php on line 17

Jeg prøver lige det du skriver :)
Avatar billede ohhelpme Nybegynder
23. november 2008 - 22:10 #3
det duer stadig ik :´(
Avatar billede erikjacobsen Ekspert
23. november 2008 - 22:11 #4
Du mangler en afsluttende:  }
Avatar billede erikjacobsen Ekspert
23. november 2008 - 22:12 #5
Brugen af $_POST retter ikke din fejl, men det er den fremtidssikrede måde.

En anden gang, så kan du li'så godt med det samme give alle relevante oplysninger, så du ikke skal spilde tiden på at vi spø'r efter dem. Ik'? ;)
Avatar billede coderdk Praktikant
23. november 2008 - 22:20 #6
Prøv at erstatte

?>

med

}
else
{
  echo "Forkert password";
}
?>
Avatar billede coderdk Praktikant
23. november 2008 - 22:20 #7
Altså helt i slutningen ;)
Avatar billede ohhelpme Nybegynder
23. november 2008 - 22:40 #8
nu kommer den med fejlen :Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on '62.107.204.20' (10060) in E:\hjemmesider\wwwtii\piimpmyartoo.tii.dk\tjek-login.php on line 2

Fatal error: Maximum execution time of 15 seconds exceeded in E:\hjemmesider\wwwtii\piimpmyartoo.tii.dk\tjek-login.php on line 2

men hvorfor, jeg har jo skrevet server oplysningerne rigtigt.
Avatar billede ohhelpme Nybegynder
23. november 2008 - 22:51 #9
...gør det noget at tabelen i MySQL har datatypen MylSAM?
Avatar billede erikjacobsen Ekspert
23. november 2008 - 22:54 #10
Det er næppe de rigtige oplysninger til databaseforbindelse du bruger.
Avatar billede ohhelpme Nybegynder
23. november 2008 - 23:00 #11
det er da ipén på serveren man ska' skrive ik?
Avatar billede coderdk Praktikant
23. november 2008 - 23:53 #12
Jooh, men er det lokalt på din maskine? For så er det 127.0.0.1 ;P
Avatar billede erikjacobsen Ekspert
24. november 2008 - 08:42 #13
Du skal skrive de oplysninger du får oplyst fra webhotellet omkring mysql.
Avatar billede ohhelpme Nybegynder
24. november 2008 - 17:05 #14
erikjacobsen> det har jeg også
Avatar billede ohhelpme Nybegynder
24. november 2008 - 17:46 #15
ok nu  virker det

men selvom man ikke skriver noget siger den bare korekt kodeord/brugernavn
Avatar billede ohhelpme Nybegynder
24. november 2008 - 20:50 #16
Ok lukker
Avatar billede erikjacobsen Ekspert
24. november 2008 - 20:54 #17
Hvad gjorde du for at få forbindelse til databasen?

Og hvad er koden nu til tjek-login.php?
Avatar billede ohhelpme Nybegynder
24. november 2008 - 21:04 #18
heh jeg skrev domænet i stedet for ipen, så fungede det :)

men tjek-login koden duer ikke som ventet heh

men sætter lige et midlertidigt system op, som ikke bruger MySQL, i mens jeg arb. med det andet :)

arprobro midlertidigt system
Så kommer der nogen dumme errors frem, ved ikke at du kan se hvorfor,

men koden er her:

<?php
session_start();
?>
<script>
var registrerUrl = "index.php?registrer=ja";
var tilbageUrl = "index.php";
var regtilbageUrl = "index.php?registrer=ja";
var logudUrl = "index.php?logud=ja";
var visbrugereUrl = "index.php?visbrugere=ja";
var slet = "Er du sikker på at du vil slette denne person??";
function checkLogin()
{
if(document.loginform.brugernavn.value == '' || document.loginform.password.value == ''){
alert('Du skal udfylde det hele');
return false;
}else{return true;}
}
function checkReg()
{
if(document.regform.brugernavn.value == '' || document.regform.password.value == ''){
alert('Du skal udfylde det hele');
return false;
}else{return true;}
}
</script>
<?php
/*
START VARIABLER
*/
$session = $_SESSION['li'];
$bruger_filen = "brugere.inc";
$antal_brugere = count(file("$bruger_filen"));


if($antal_brugere < 2){$enden = "bruger";}else{$enden = "brugere";}

echo "<center>\n";

    if($session && !$_GET['visbrugere'])
    {
    echo 'Du er logget ind som: '.$session.'; <input type="button" onclick="window.location = visbrugereUrl" value="Vis brugere"><input type="button" onclick="window.location = logudUrl" value="Logud">';
    }
    elseif(!$_GET['login'] && !$session && !$_GET['registrer'] && !$_GET['visbrugere'])
    {
        echo '
        <h1>Login</h1>
        <form action="?login=ja" name="loginform" method="POST" onsubmit="if(checkLogin()){return true}else{return false}">
       
        Brugernavn: <input type="text" name="brugernavn">
        <br>
        Password: <input type="password" name="password">
        <br>
        <input type="submit" name="submit" value="Login"><input type="button" onclick="window.location = registrerUrl" name="submit" value="Registrer">
        </form>Der er oprettet '.$antal_brugere.' <a style="color:black;" href="?visbrugere=ja">'.$enden.'</a>';
    }

    if($_GET['login'] == 'ja' && !$session && isset($_POST['submit']))
    {
        $brugernavn = $_POST['brugernavn'];
        $password = $_POST['password'];
        $linjer = file("$bruger_filen");
       
        if(!file_exists("$bruger_filen")){$fext = fopen("$bruger_filen","w+");fclose($fext);}

        foreach($linjer as $linje)
        {
           
            $linjetrim = rtrim($linje);
            $side = explode("|",$linjetrim);
            if($brugernavn == $side[0] && md5($password) == $side[1])
            {
                if($side[2] == 'ja'){$_SESSION['admin'] = 'ja';}
                $valid = true;
                break;
              }
        }
       
        if($valid == true)
        {
        $_SESSION['li'] = $brugernavn;
        echo '<meta http-equiv="refresh" content="0;url=index.php">';
        }else{
        echo 'Forkert brugernavn eller password.<br><input type="button" onclick="window.location = tilbageUrl" value="Tilbage">';
        }
    }
   
    if($_GET['logud'] == 'ja')
    {
        session_destroy();
        echo '<meta http-equiv="refresh" content="0;url=index.php">';
    }
   

    if($_GET['registrer'] == 'ja')
    {
       
        echo '
        <h1>Registrer</h1>
        <form action="?registrer=gem" method="POST" name="regform" onsubmit="if(checkReg()){return true}else{return false}">
       
        Dit ønskede brugernavn: <input type="text" name="brugernavn">
        <br>
        Dit ønskede password: <input type="password" name="password">
        <br>
        <input type="submit" name="submit" value="Registrer"><input type="button" onclick="window.location = tilbageUrl" value="Tilbage">
        </form>
        ';
    }
   
    if($_GET['registrer'] == 'gem')
    {
        $brugernavn = trim($_POST['brugernavn']);
        $password = trim(md5($_POST['password']));
        $linjer = file("$bruger_filen");
        $valid = true;
        if(!empty($brugernavn) && !empty($password))
        {
            foreach($linjer as $linje)
            {
                $trimlinje = ltrim($linje);
                $side = explode("|", $trimlinje);

                if($brugernavn == $side[0]){$valid = false;}
            }
                if($valid == true)
                {
                    $nybruger = "\n$brugernavn|$password";
                    $fil = fopen("$bruger_filen","a+");
                    if(fwrite($fil, $nybruger))
                    {
                       
                        echo 'Brugernavnet er oprettet.<br><input type="button" onclick="window.location = tilbageUrl" value="Login">';
                       
                    }
                    else
                    {
                    echo 'Der skete en fejl.<br><input type="button" onclick="window.location = regtilbageUrl" value="Prøv igen">';
                    }
                    fclose($fil);
                }
                else
                {echo 'Brugernavnet er taget.<br><input type="button" onclick="window.location = regtilbageUrl" value="Tilbage">';}
       
        }else{echo 'Du skal udfylde det hele.<br><input type="button" onclick="window.location = regtilbageUrl" value="Tilbage">';}
       
    }

    if($_GET['visbrugere'] == 'ja')
    {
        echo '<h1>Alle brugere:</h1>';
        $brugere = file("$bruger_filen");
        echo '<h4><u>';
        if(count($brugere) > 0)
        {
            foreach($brugere as $linje)
            {
                $trimlinje = ltrim($linje);
                $side = explode("|", $trimlinje);
                echo ucfirst($side[0]);
               
                echo '<br>';
            }
        }else{echo 'Ingen brugere.';}
        echo '</h4></u>';   
        echo '<input type="button" onclick="window.location = tilbageUrl" value="Tilbage">';
    }
   
echo "\n<center/>";
   
?>
Avatar billede erikjacobsen Ekspert
24. november 2008 - 21:18 #19
Så er vi tilbage ved sidste halvdel af kommentaren 23/11-2008 22:12:24
Avatar billede ohhelpme Nybegynder
24. november 2008 - 21:26 #20
sorry sorry :´)

du kan se hva' den gør her : http://piimpmyartoo.tii.dk/login/
Avatar billede erikjacobsen Ekspert
24. november 2008 - 21:41 #21
Jeg antager du ikke har rettet i nogen php.ini fil på serveren. Fejlen:

"...open(E:/hjemmesider/wwwtii//tmp/\sess_5c6dd3327210d4a41d8ca4a32f8ede34, O_RDWR) failed: ..."

skyldes en opsætningsfejl på webserveren.
Avatar billede ohhelpme Nybegynder
24. november 2008 - 21:45 #22
Så det vil sige at jeg kan kontakte min host udbyder, og forklare ham, at han har opsat systemet med nogle fejl?
Avatar billede erikjacobsen Ekspert
24. november 2008 - 21:46 #23
Ja. Det er en af de gratis hosts, ikke? Man får hvad man betaler for ;)
Avatar billede ohhelpme Nybegynder
27. november 2008 - 18:10 #24
så nu duer det hele

tak for hjælpen :)
Avatar billede ohhelpme Nybegynder
28. november 2008 - 15:22 #25
lige en seidte ting

hva' er der galt her:

ob_start();
session_start();
if(!$SESSION['li']){header("Location: /");}
ob_end_flush();

fejl beskeden lyder:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at E:\hjemmesider\wwwtii\piimpmyartoo.tii.dk\login\sider\brugere\index.php:3) in E:\hjemmesider\wwwtii\piimpmyartoo.tii.dk\login\sider\brugere\index.php on line 5

Warning: Cannot modify header information - headers already sent by (output started at E:\hjemmesider\wwwtii\piimpmyartoo.tii.dk\login\sider\brugere\index.php:3) in E:\hjemmesider\wwwtii\piimpmyartoo.tii.dk\login\sider\brugere\index.php on line 6
Avatar billede ohhelpme Nybegynder
28. november 2008 - 15:24 #26
sorry,
Det hedder sidste ting

og php koden ser sådan ud:

<?php
ob_start();
session_start();
if(!$SESSION['li']){header("Location: /");}
ob_end_flush();
?>
Avatar billede erikjacobsen Ekspert
28. november 2008 - 18:14 #27
Der står vel noget inden linien med: <?php
Avatar billede ohhelpme Nybegynder
28. november 2008 - 20:42 #28
nej, der står ikke noget.
men der står noget efter linien: ?>
Avatar billede erikjacobsen Ekspert
28. november 2008 - 20:50 #29
"nej, der står ikke noget." - nå. Der er 2 linier før: <?php
Avatar billede ohhelpme Nybegynder
28. november 2008 - 20:51 #30
det efter linien ser således ud:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><link rel="icon" type="image/ico" href="/favicon.ico">
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>PimpmyArto</title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="/default.css" rel="stylesheet" type="text/css" media="screen" />
    <style type="text/css">
        .style1
        {
            color: #000000;
            font-style: italic;
            font-weight: bold;
        }
        .style3
        {
            color: #6666FF;
        }
        .style4
        {
            font-size: x-small;
            text-align: right;
        }
        .style12
        {
            width: 2%;
        }
        .style13
        {
            width: 70px;
        }
        .style18
        {
            border-top: 1px dotted #CCCCCC;
            text-align: left;
            font-weight: bold;
            font-size: large;
        }
        .style20
        {
            font-weight: bold;
        }
        .style21
        {
            font-size: 16px;
            font-weight: bold;
        }
    </style>
</head>
<body>
<!-- start header -->
<div id="header">
    <div id="logo">
        <h1 class="style3">Pimpmyarto<span lang="da">&nbsp;&nbsp; </span></h1>
        <p class="style1">Det handler om Respekt!</p>
    </div>
    <table align="center" class="style12">
        <tr>
            <td class="style13">
                <br />
            </td>
        </tr>
    </table>
    <div align="center">
        <iframe id="I1" allowtransparency="" frameborder="no" height="60"
            marginheight="0" marginwidth="0" name="I1" scrolling="no"
            src="/reklame.jpg"
            width="468"></iframe>
    </div>
</div>
<!-- end header -->
<!-- start menu -->
<div id="menu">
    <ul>
        <li><a href="/">Forside</a></li>
        <li><a href="/koder">koder</a></li>
        <li><a href="/bg">Baggrunde</a></li>
        <li><a onclick="window.open(this.href,'',',scrollbars=yes,width=1000,height=1000'); return false" href="/editor">Online editor</a></li>
        <li><a href="/indsend">tilføj</a></li>
        <li><a href="/kontakt">Kontakt</a></li>
    </ul>
</div>
<!-- end menu -->
<!-- start page -->
<div id="page">
    <!-- start content -->
    <div id="content">
        <h1 class="pagetitle">Alle brugere</h1>
    <iframe src="/login/index.php?visbrugere=ja" scrolling="yes" name="pimpmyarto" border="0" frameborder="0" width="700" height="630"></iframe>
    </div>
    <!-- end content -->
    <!-- start sidebar -->
    <div id="sidebar">
        <ul>
            <li>
                <h2>Ekstra menu</h2>
                <ul>
                    <li><a onclick="window.open(this.href,'',',resizable=no,scrollbars=yes,width=717,height=660'); return false" href="/vira">virus info</a></li>
                    <li><a href="/free/banner">Gratis reklame visning</a></li>
                    <li><a href="http://209.85.135.104/translate_c?hl=en&sl=da&tl=en&u=http://piimpmyartoo.tii.dk/&usg=ALkJrhhV4jrltsZVtbdWWL_NKUF7XHrPbg">English version</a></li>
                    <li><a href="#">Chat (under konstruktion)</a></li>
                    <li><a href="#">Spil (under konstruktion)</a></li>
                    <li><a href="#">Snyde koder (under kons...)</a></li>
                </ul>
                <h2>Login</h2>
                    <div><iframe src="/login/" scrolling="no" name="pimpmyarto" border="0" frameborder="0" width="230" height="230"></iframe></div>
            </li>
        </ul>
    </div>
    <!-- end sidebar -->
    <div style="clear: both;">&nbsp;</div>
</div>
<!-- end page -->
<div id="footer">
    <p class="style4"><span lang="da">V.2.0 &nbsp;
        •&nbsp; </span>©200<span lang="da">8</span>
        All Rights Reserved<span
            lang="da">&nbsp; •<span class="style20">&nbsp; <a href="/feedback">Feedback</a></span>&nbsp;
        •&nbsp; <a href="/kontakt">Kontakt os</a>&nbsp; •&nbsp; Hostet by
        <a href="http://dinhost.net/">Dinhost</a>&nbsp; </span>•&nbsp;<span lang="da"> </span>
        Design by <a href="http://www.freecsstemplates.org/">Free CSS Templates</a></p>
</div>
</body>
</html>
Avatar billede erikjacobsen Ekspert
28. november 2008 - 21:01 #31
Det der står bagefter er ligegyldigt. Læste du hvad jeg skrev?
Avatar billede ohhelpme Nybegynder
28. november 2008 - 21:04 #32
der er ikke noget foran, se selv: http://piimpmyartoo.tii.dk/login/sider/brugere/se.css

Ps. har angivet filnavnet i css, så du kan se den rigtige kildekode.
Avatar billede ohhelpme Nybegynder
28. november 2008 - 21:04 #33
ja jeg læste hva' du skrev :)
Avatar billede erikjacobsen Ekspert
28. november 2008 - 21:12 #34
Der står i din fejlbesked at session_start(); står på linie 5.
Avatar billede ohhelpme Nybegynder
28. november 2008 - 21:43 #35
Nu har jeg prøvet at opdatere siden, igen via ftp.
Og nu er fejl beskeden:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at E:\hjemmesider\wwwtii\piimpmyartoo.tii.dk\login\sider\brugere\index.php:1) in E:\hjemmesider\wwwtii\piimpmyartoo.tii.dk\login\sider\brugere\index.php on line 3

Warning: Cannot modify header information - headers already sent by (output started at E:\hjemmesider\wwwtii\piimpmyartoo.tii.dk\login\sider\brugere\index.php:1) in E:\hjemmesider\wwwtii\piimpmyartoo.tii.dk\login\sider\brugere\index.php on line 4
Avatar billede erikjacobsen Ekspert
28. november 2008 - 21:52 #36
Der står noget før: <?php
Kan det tænkes du har gemt filen som utf-8 med BOM header
Avatar billede ohhelpme Nybegynder
28. november 2008 - 22:00 #37
moske, ser lige
Avatar billede ohhelpme Nybegynder
28. november 2008 - 22:04 #38
har du et forslag til hvad det så ska' hede?

Ps. er ANSI eller unicode godt nok ?
Avatar billede erikjacobsen Ekspert
28. november 2008 - 22:08 #39
Det kommer an på hvilket tegnsæt du bruger. UTF-8 uden BOM er også en mulighed.
Avatar billede ohhelpme Nybegynder
28. november 2008 - 22:25 #40
der står "text/html; charset=utf-8"
Avatar billede erikjacobsen Ekspert
28. november 2008 - 23:08 #41
Det er det tegnsæt du har sagt du bruger. Hvis du gerne vil bruge det, så skal dine tekstfiler være gemt som utf-8. Hvis PHP skal kunne forstå det, skal det være utf-8 uden BOM - eller hvad det nu måtte hedde i din teksteditor.
Avatar billede ohhelpme Nybegynder
28. november 2008 - 23:18 #42
det hele er også gemt som UTF-8, men fejl beskeden er der endnu. :´|
Avatar billede erikjacobsen Ekspert
28. november 2008 - 23:32 #43
Jeg ved ikke hvilken side, det er, og kan ikke sige med sikkerhed om det er rigtigt, men det kunne være, at der sidder en utf-8 BOM i toppen af din PHP-fil - en BOM er 3 ret sjove tegn, hvis man kigger på dem som ANSI. Hvis de står der, så virker det ikke, og så skal filen gemmes uden. Det er vel utf-8, der har denne lille feature.
Avatar billede ohhelpme Nybegynder
29. november 2008 - 21:33 #44
Avatar billede ohhelpme Nybegynder
20. februar 2009 - 22:16 #45
oprydning...
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



IT-JOB

Netcompany A/S

Network Engineer

Danske Commodities A/S

Procurement manager

Netcompany A/S

Test Specialist

Cognizant Technology Solutions Denmark ApS

Service Line Specialist – EPS – SAP