Avatar billede php Novice
02. juni 2004 - 15:53 Der er 23 kommentarer

har problem med opret

Det her virker ik.

FOR FØLGENE FEJL:
Parse error: parse error, unexpected '}' in d:\apachewebroot\my-city.dk\abc\opret.php on line 211

I skal nok få nogen flere point skal lige lukke et andet spg som ik er besvaret først..

Kan i hjælpe..

<? include("files/sql.php"); ?>
  if ($submit) {

if (!$brugernavn || !$password || !$password2 || !$email || !$sex) {

$fail .= "<li>Du udfyldte ikke alle felterne.<br>";

}

addslashes($brugernavn);

$brugernavn_check = mysql_query("SELECT id FROM users WHERE(brugernavn ='$brugernavn')");

if (mysql_num_rows($brugernavn_check) > 0) {

$fail .= "<li>Username er optaget.<br>";

}

if (strlen($brugernavn) > 15) {

$fail .= "<li>Username må max være 15 karakterer langt. Dit er ".strlen($brugernavn)." karakterer langt.<br>";

}

if (strlen($brugernavn) < 3) {

$fail .= "<li>Username skal minimum være 3 karakterer langt.<br>";

}

if ($brugernavn == "") {

$fail .= "<li>Du skal skrive et brugernavn.<br>";

}

if (ereg("<",$brugernavn)) {

$fail .= "<li>Brugernavn må ikke indeholde html tags.<br>";

}

if (ereg("\"", $brugernavn)) {

$fail .= "<li>Brugernavn må ikke indeholde \".<br>";

}

if (ereg(",", $brugernavn)) {

$fail .= "<li>Brugernavn må ikke indeholde \".<br>";

}

if (ereg("%", $brugernavn)) {

$fail .= "<li>Brugernavn må ikke indeholde %.<br>";

}

if (ereg("'", $brugernavn)) {

$fail .= "<li>Brugernavn må ikke indeholde '.<br>";

}

if (ereg("\.", $brugernavn)) {

$fail .= "<li>Brugernavn må ikke indeholde \".\".<br>";

}

if (ereg("^ ", $brugernavn)) {

$fail .= "<li>Brugernavn må ikke starte med [Space].<br>";

}

if (substr($brugernavn, -1) == " ") {

$fail .= "<li>Brugernavn må ikke ende på space.<br>";

}

if (eregi("[^a-z0-9] ",$brugernavn)) {

$fail .= "<li>Ulovlige tegn i username. Brug kun A-Z, a-z og 0-9<br>";

}

if ($password == "") {

$fail .= "<li>Du skal skrive et password.<br>";

}

if ($password != $password2) {

$fail .= "<li>De 2 password var ikke ens.<br>";

}

if (strlen($password) < 6) {

$fail .= "<li>Password skal minimum være 6 karakterer langt.";

}

if (strlen($password) > 16) {

$fail .= "Password må max være 16 karakterer langt.";

}


if (ereg("commander", strtolower($brugernavn))) {

$fail .= "<li>Brugernavn må ikke indeholde \"Commander\".<br>";

}

if (!$fail) {

$kryppassword = md5($password);

$time=time();

mysql_query("INSERT INTO brugerlogin (brugernavn,password) VALUES('$brugernavn','$password')") or die(mysql_error());

$oprettet = ok;

print "<font size=\"5\"><center><b>Brugeren er oprettet</b><br><font size=\"3\">Du kan logge ind på <b>My-City.Dk</b>,<br>ved at trykke <a href=\"login.php\">her</a>.";

} else {

print $fail;

}

}

if (!$oprettet)

{

?>

<form action="opret.php" method="post">

<table border="0" width="100%" cellpadding="0" cellspacing="0" align="center">

<tr>

<td>
                <p align="center"><FONT size="1" face="Verdana"><b>Brugernavn:</b><br><input class="text" type="text" name="brugernavn" value="<?=$brugernavn?>" maxlength="10"></FONT></td>

<td>
                <p align="center"></td>

</tr>

<tr>

<td>
                <p align="center"><FONT size="1" face="Verdana"><b>Kodeord:</b><br><input class="text" type="password" name="password" value="<?=$password?>"></FONT></td>

<td>
                <p align="center"></td>

</tr>

<tr>

<td>
                <p align="center"><FONT size="1" face="Verdana"><b>Kodeord igen:<br></b><input class="text" type="password" name="password2" value="<?=$password2?>"></FONT></td>

<td>
                <p align="center"><br></td>

</tr>

<tr>

<td>
                <p align="center"><FONT size="1" face="Verdana"><br>
              </FONT></td>

<td>
                <p align="center"><br></td>

</tr>

<tr>

<td>&nbsp;</td>

<td>
                <p align="center"></td>

</tr>

</table>

    <p align="center"><input type="submit" value="Opret" name="submit" class="submit">

</form>

<p align="center"><?

}



?>&nbsp;</p>

                  </td>
                  <td width="15" background="c_d.gif" height="23">
                    <p align="center"></td>
                </tr>
                <tr>
                  <td width="24">
                    <p align="center"></td>
                  <td width="468" background="i_c.gif">
                    <p align="center"></td>
                  <td width="15">
                    <p align="center"></td>
                </tr>
</table>
</body>



</html></SCRIPT>
Avatar billede detox Nybegynder
02. juni 2004 - 16:16 #1
Du skal fjerne ?> i den første linie:

<? include("files/sql.php"); ?>

<? include("files/sql.php");
Avatar billede detox Nybegynder
02. juni 2004 - 16:24 #2
$oprettet = ok;

skal være:

$oprettet = 'ok';
Avatar billede detox Nybegynder
02. juni 2004 - 16:32 #3
</SCRIPT> er vidst osse i overskud:

</html></SCRIPT>

</html>
Avatar billede php Novice
02. juni 2004 - 16:43 #4
Se på www.my-city.dk/abc/opret.php - Det virker ikke når man opretter.....

Så kommer fejlen:


Warning: mysql_query(): Access denied for user: 'ODBC@localhost' (Using password: NO) in d:\apachewebroot\my-city.dk\abc\opret.php on line 12

Warning: mysql_query(): A link to the server could not be established in d:\apachewebroot\my-city.dk\abc\opret.php on line 12

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in d:\apachewebroot\my-city.dk\abc\opret.php on line 14
Avatar billede msc_cph Nybegynder
02. juni 2004 - 16:46 #5
lyder som om du ikke connecter ordentligt til din database og derfor kan dine query'es ikke gennemføres
Avatar billede detox Nybegynder
02. juni 2004 - 16:49 #6
Jeg går ud fra at: "sql.php" indeholder din forbindelse til databasen. Det må være der det går galt.
Prøv iøvrigt at rette:

<? include("files/sql.php");

til:

<? require("files/sql.php");

så du er sikker på at få den med.
Avatar billede detox Nybegynder
02. juni 2004 - 16:55 #7
Da du kun har 3 inputfelter i din formular, skal du nok rette denne linie:

if (!$brugernavn || !$password || !$password2 || !$email || !$sex) {

til:

if (!$brugernavn || !$password || !$password2) {
Avatar billede php Novice
02. juni 2004 - 17:01 #8
www.my-city.dk/abc/opret.php  hmm

I kan os få lov til at se min tabel "brugerlogin" hvor brugeren "BURDE" blive oprettet i..

CREATE TABLE `brugerlogin` (
  `brugernavn` varchar(16) NOT NULL default '',
  `password` varchar(32) NOT NULL default '',
  `email` varchar(255) NOT NULL default '',
  `status` tinyint(1) default NULL,
  `temp` varchar(32) NOT NULL default '',
  UNIQUE KEY `brugernavn` (`brugernavn`)
) TYPE=MyISAM;
Avatar billede detox Nybegynder
02. juni 2004 - 17:04 #9
Det var mere interessant at se på: "files/sql.php" (naturligvis uden password).
Avatar billede msc_cph Nybegynder
02. juni 2004 - 17:04 #10
Men opretter du overhovedet forbindelse til din database?

Jeg har forresten lavet en bruger oprettelse til dig i dit andet indlæg - den burde virke!
Avatar billede php Novice
02. juni 2004 - 17:07 #11
For at vende tilbage til mit andet spøgrsmål virker det du skrev "msc_cph" heller ik helt se selv: www.my-city.dk/abc/opret_bruger.html prøv opret.
Avatar billede php Novice
02. juni 2004 - 17:08 #12
og til detox: der her står der i sql.php

<?php
$host = "mysql.gullestrupnet.dk";
$user = "my-city";
$pass = "*******";
$database = "my-city";
Avatar billede detox Nybegynder
02. juni 2004 - 17:13 #13
Så mangler du:

mysql_connect($host , $user, $pass) or die(mysql_error());
mysql_select_db($database) or die(mysql_error());

efter:

<? require("files/sql.php");
Avatar billede msc_cph Nybegynder
02. juni 2004 - 17:16 #14
den virker ikke fordi du skal rette i "opretter.php" filen.
Nederst i den står der:

header("location:den_side_du_vil_til_efter_oprettelsen");

den_side_du_vil_til_efter_oprettelsen skal rettes til den side du vil redirectes til efter brugeren har oprettet sig - måske en brugerinfo side.

Det er ihvertfald den fejl man får hvis man følger dit link ovenfor

The requested URL /abc/den_side_du_vil_til_efter_oprettelsen was not found on this server
Avatar billede detox Nybegynder
02. juni 2004 - 17:18 #15
msc_cph -> Det er vidst til det andet spørgsmål ;o)
Avatar billede msc_cph Nybegynder
02. juni 2004 - 17:20 #16
detox -> ja undskyld - kunne ikke dy mig ;)

misko -> hvis ikke du kan få dette til at virke så kan vi prøve i dit andet spørgsmål
Avatar billede php Novice
02. juni 2004 - 17:21 #17
har fået det andet til at virke, men problemmet er nu at man ikke kan logge ind når man har oprettet en bruger prøv log ind

www.my-city.dk/abc/
Avatar billede msc_cph Nybegynder
02. juni 2004 - 17:23 #18
Du kan også prøve at slette

require("files/sql.php");

og indsætte dette istedet:

$db = mysql_connect("mysql.gullestrupnet.dk", "my-city", "*******") or die("Kan ikke oprette forbindelse til databasen");
mysql_select_db("my-cit", $db) or die(mysql_error());
Avatar billede msc_cph Nybegynder
02. juni 2004 - 17:25 #19
sorry - en fejl - det skal være:

$db = mysql_connect("mysql.gullestrupnet.dk", "my-city", "*******") or die("Kan ikke oprette forbindelse til databasen");
mysql_select_db("my-city", $db) or die(mysql_error());
Avatar billede msc_cph Nybegynder
02. juni 2004 - 17:30 #20
ok, du siger login siden ikke virker - hvordan ser din fil "actions.php" ud?
Avatar billede php Novice
02. juni 2004 - 17:34 #21
action.php

<?php
include($_SERVER["DOCUMENT_ROOT"] ."/abc/files/main.php");

if(isset($_GET["logud"])) {
    $_SESSION = array();
    session_destroy();
    header("Location:". $redirect ."");
    exit;
    }

if(isset($_POST["bruger"], $_POST["pass"])) {

$check = mysql_query("SELECT `brugernavn`, `status` FROM `". $db_navn ."` WHERE `brugernavn` = '". $_POST["bruger"] ."' AND `password` = md5('". $_POST["pass"] ."')") or die (mysql_error());

    if(mysql_num_rows($check) != 0) {
$user = mysql_fetch_object($check);

    $_SESSION["id"] = session_id();
    $_SESSION["bruger"] = $user->brugernavn;
    $_SESSION["status"] = $user->status;
    $_SESSION["outtime"] = $logudtid;

mysql_query("UPDATE `". $db_navn ."` set `temp` = '". $_SESSION["id"] ."' WHERE `brugernavn` = '". $_SESSION["bruger"] ."' LIMIT 1") or die (mysql_error());
    }else{

    $_SESSION["error"] = "Forkert brugernavn eller password";

    }

mysql_free_result($check);

    header("Location:". $redirect ."");
    exit;
}

//Er alle sessions sat?
if(false !== tjek_login()) {

//Ok, så kan div. POST og GET behandles

    if(isset($_POST["passigen"])) {

$check = mysql_query("SELECT `brugernavn` FROM `". $db_navn ."` WHERE `brugernavn` = '". $_SESSION["bruger"] ."' AND `password` = '". md5($_POST["passigen"]) ."' AND `temp` = '". $_SESSION["id"] ."'") or die (mysql_error());

    if(mysql_num_rows($check) != 0) {
    $_SESSION["outtime"] = $logudtid;
    }else{
    $_SESSION = array();
    session_destroy();
    }

    header("Location:". $redirect ."");
    exit;
    } //slut med POST passigen

if(isset($_GET["action"])) {
    while(list($key, $value) = each($brugerfiler)) {
        if(urldecode($_GET["action"]) == $key) {
            if($_SESSION["status"] != $adminstatus && $_GET["action"] == $adminfil) {
continue;
}
        $_SESSION["fil"] = $key;
        }
    }
    header("Location:". $redirect ."");
    exit;
    } //slut med GET action


//Er den rigtige session sat til at redigere brugere?
if($_SESSION["status"] == $adminstatus) {

    //Editburger
    if(isset($_GET["edit"])) {
    $_SESSION["edit"] = $_GET["edit"];
    header("Location:". $redirect ."");
    exit;
    } //slut med GET edit

    //annuller editbruger
    if(isset($_GET["annuller"]) && $_GET["annuller"] = "edit") {
    unset($_SESSION["edit"]);
    header("Location:". $redirect ."");
    exit;
    } //slut med GET annuller

//Opret en ny bruger
if(isset($_POST["nybruger"])) {

    foreach($_POST as $tjek) {
    if(trim($tjek) == "") {
$_SESSION["besked"] = "Alle felter skal udfyldes!";
    header("Location:". $redirect ."");
    exit;
        }
    }

$tjeknavn = mysql_query("SELECT `brugernavn` FROM `". $db_navn ."` WHERE `brugernavn` = '". $_POST["bruger"] ."'") or die (mysql_error());

    if(mysql_num_rows($tjeknavn) != 1) {
mysql_query("INSERT INTO `". $db_navn ."` (`brugernavn`, `password`, `email`, `status`) VALUES (". toData($_POST["bruger"]) .",'". md5($_POST["passw"]) ."',". toData($_POST["mail"]) .",". toData($_POST["admin"]) .")") or die (mysql_error());
$_SESSION["besked"] = "Ny bruger er oprettet";
    }else{
$_SESSION["besked"] = "Brugernavnet findes allerede!";
    }
    header("Location:". $redirect ."");
    exit;
}//Slut med nybruger

//Slet en bruger
if(isset($_POST["deluser"])) {

    if (is_array($_POST["deluser"])) {
while (list($key1, $key2) = each($_POST["deluser"])) {
    mysql_query("DELETE FROM `". $db_navn ."` WHERE `brugernavn` = '". $key2 ."'") or die (mysql_error());
        }
    }else{
    mysql_query("DELETE FROM `". $db_navn ."` WHERE `brugernavn` = '". $_POST["deluser"] ."'") or die (mysql_error());
    }

    unset($_SESSION["edit"]);

    header("Location:". $redirect ."");
    exit;
}//Slut med sletbruger

//Edit bruger
if(isset($_POST["editbruger"])) {

mysql_query("UPDATE `". $db_navn ."` set `brugernavn` = ". toData($_POST["bruger"]) .", `email` = ". toData($_POST["mail"]) .", `status` = ". toData($_POST["admin"]) ." WHERE `brugernavn` = '". $_POST["editbruger"] ."' LIMIT 1") or die (mysql_error());


    unset($_SESSION["edit"]);

    header("Location:". $redirect ."");
    exit;
}//Slut med edit bruger

    //Slut på tjek om der er adminstatus
    }
//slut på tjek om sessions er sat
}
?>
Avatar billede msc_cph Nybegynder
02. juni 2004 - 17:42 #22
du connecter overhovedet ikke til din database f.eks. inden du tjekker om password stemmer overens

føj denne funktion til øverst i din fil, efter

include($_SERVER["DOCUMENT_ROOT"] ."/abc/files/main.php");

function mindb_connect(){
$db = mysql_connect("mysql.gullestrupnet.dk", "my-city", "*******") or die("Kan ikke oprette forbindelse til databasen");
mysql_select_db("my-cit", $db) or die(mysql_error());
}

og så kald funktion mindb_connect(); inden du vil tjekke
Avatar billede detox Nybegynder
02. juni 2004 - 17:53 #23
iøvrigt mangler du: session_start(); i begyndelsen af scriptet.
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