Avatar billede funny Nybegynder
09. juli 2006 - 21:21 Der er 83 kommentarer og
1 løsning

bruger system med admin del

jeg har fået lavet et lille brugersystem som køre over sql.

det jeg søger er at admin kontoen kan vise lidt mere som at oprette profiler det har jeg lavet men lige nu kan alle se det og det skal kun være adminen der skal se det er der nogen der kan hjælpe har prøvet med if men uden held
Avatar billede funny Nybegynder
09. juli 2006 - 21:22 #1
viser nogen af de ting jeg har vis det kan hjælpe.
Avatar billede funny Nybegynder
09. juli 2006 - 21:22 #2
<form name="form1" method="post" action="login.php">
            <table align="center">
    <tr>
      <td class="style1">Navn:</td>
      <td align="center"><input name="navn" type="text" class="style1" id="navn" style="background:transparent;" size="10" /></td>
    </tr>
    <tr>
      <td class="style1">Kode:</td>
      <td align="center"><input name="pass" type="password" class="style1" id="user_name" style="background:transparent;" size="10" /></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td align="center"><input name="Submit" type="submit" class="style1" value="Login" /></td>
    </tr>
  </table>
</form>
Avatar billede funny Nybegynder
09. juli 2006 - 21:23 #3
login.php

<?php
include('db.php');
session_start();
if(isset($_POST["navn"], $_POST["pass"])) {
$password = md5($_POST["pass"]);

$sql = mysql_query("SELECT `user_name` FROM `user_script` WHERE `user_name` = '". mysql_escape_string($_POST["navn"]) ."' AND `user_pass` = '". $password ."'") or die (mysql_error());
    if(mysql_num_rows($sql) == 1) {
    $_SESSION["user"] = mysql_result($sql, 0);
    header("Location:bruger.php");
    exit;
    }else{
    echo"Forkert brugernavn eller password";
    }
mysql_free_result($sql);

}
?>
Avatar billede funny Nybegynder
09. juli 2006 - 21:24 #4
bruger.php

<?php
include('db.php');
session_start();

if(isset($_SESSION["user"])) {

$sql = mysql_query("SELECT * FROM `user_script` WHERE `user_name` = '". $_SESSION["user"] ."'") or die (mysql_error());

$profil = mysql_fetch_array($sql);

mysql_free_result($sql);
}else{

echo"Du skal logge ind først!";
}

?>
Avatar billede nielle Nybegynder
09. juli 2006 - 21:39 #5
Hvad med f.eks. at putte et ekstre felt i din session?

===== login.php =====

<?php
include('db.php');
session_start();
if (isset($_POST["navn"], $_POST["pass"]))
{
    $password = md5($_POST["pass"]);

    $sql = "SELECT user_name FROM user_script WHERE user_name = '" . mysql_escape_string($_POST["navn"]) . "' AND user_pass = '" . $password . "'";
    $result = mysql_query($sql) or die (mysql_error());
    if (mysql_num_rows($sql) == 1)
    {
        $user = mysql_result($result, 0);
        $_SESSION["user"] = $user;

        if ($user == "funny")
            $_SESSION["admin"] = true;
        else
            $_SESSION["admin"] = false;

        header("Location: bruger.php");
        exit;
    }
    else
    {
        echo "Forkert brugernavn eller password";
    }
    mysql_free_result($result);
}
?>
Avatar billede funny Nybegynder
09. juli 2006 - 21:47 #6
har lige prøvet men jeg får fejl i koden
Avatar billede nielle Nybegynder
09. juli 2006 - 21:51 #7
Du må gerne uddybe :^)
Avatar billede funny Nybegynder
09. juli 2006 - 21:52 #8
Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\login.php on line 10
Forkert brugernavn eller password
Avatar billede funny Nybegynder
09. juli 2006 - 21:52 #9
if (mysql_num_rows($sql) == 1)
Avatar billede nielle Nybegynder
09. juli 2006 - 21:54 #10
Skulle også have været:

if (mysql_num_rows($result) == 1)
Avatar billede funny Nybegynder
09. juli 2006 - 21:58 #11
så virker det hvad kan jeg så gøre for at få admin's ting fram
Avatar billede nielle Nybegynder
09. juli 2006 - 22:01 #12
På brugersiden spørger du på den oplysning som er gemt i $_SESSION["admin"]:

<?php
include('db.php');
session_start();

if (isset($_SESSION["user"]))
{
    $sql = mysql_query("SELECT * FROM `user_script` WHERE `user_name` = '". $_SESSION["user"] ."'") or die (mysql_error());
    $profil = mysql_fetch_array($sql);
    mysql_free_result($sql);

    if ($_SESSION["admin"])
    {
        echo "Velkomen administrator!";
    }
}
else
{
    echo"Du skal logge ind først!";
}
?>
Avatar billede funny Nybegynder
09. juli 2006 - 22:03 #13
hvordan kan jeg smide den ind i en tabel det kan man ikke vel da den kal være over html
Avatar billede nielle Nybegynder
09. juli 2006 - 22:05 #14
Det forstod jeg desværre ikke ... prøv lige en gang til.
Avatar billede funny Nybegynder
09. juli 2006 - 22:09 #15
<?php
include('db.php');
session_start();


skal være hel i toppen af siden skal den ikke
Avatar billede funny Nybegynder
09. juli 2006 - 22:09 #16
men kan man tag echo ud af kode og ned i en  tabel
Avatar billede nielle Nybegynder
09. juli 2006 - 22:14 #17
09/07-2006 22:09:20> Ja, det er rigtigt.

09/07-2006 22:09:49> Hvad mener du med at "tage echo ud af koden og lægge det ned i en tabel"?

Du ønskede at der skulle ske noget specielt når man var administrator. Jeg har bare demonstrere princippet ved at udskrive noget. Du kan selvfølgelig lave alle mulige andre ting i stedet.
Avatar billede funny Nybegynder
09. juli 2006 - 22:15 #18
jeg har også en fil som heder opret.php kan man få den til at arbejde sammen med admin koden så når jeg logger ind kommer der et link til opret.php og det kun er adminen der kan komme ind i filen
Avatar billede funny Nybegynder
09. juli 2006 - 22:18 #19
vis jeg smider den her koden under <html><head> går det galt det jeg ikke ved er om man kan flytte noget af det ned under <html><head>

laver du et svar så skal du få point og tak for hjælpen

<?php
include('db.php');
session_start();

if (isset($_SESSION["user"]))
{
    $sql = mysql_query("SELECT * FROM `user_script` WHERE `user_name` = '". $_SESSION["user"] ."'") or die (mysql_error());
    $profil = mysql_fetch_array($sql);
    mysql_free_result($sql);

    if ($_SESSION["admin"])
    {
        echo "test";
    }
}
else
{
    echo"Du skal logge ind først!";
}
?>
Avatar billede nielle Nybegynder
09. juli 2006 - 22:20 #20
Alle de sider hvor at du vil have at det *kun* er admin som må komme idn, starter du siden med denne:

<?
session_start();

if (! $_SESSION["admin"])
{
    // Hvis man ikke er admin bliver man sendt til login-siden:
    header("Location: login.php");
    exit;
}
?>
Avatar billede nielle Nybegynder
09. juli 2006 - 22:21 #21
Jeg vil helst vente med at lægge et svar til at vi har fået det til at virke. :^)
Avatar billede funny Nybegynder
09. juli 2006 - 22:26 #22
kan man så slette den her kode fra bruger.php  <?php
include('db.php');
session_start();

if (isset($_SESSION["user"]))
{
    $sql = mysql_query("SELECT * FROM `user_script` WHERE `user_name` = '". $_SESSION["user"] ."'") or die (mysql_error());
    $profil = mysql_fetch_array($sql);
    mysql_free_result($sql);

    if ($_SESSION["admin"])
    {
        echo "test";
    }
}
else
{
    echo"Du skal logge ind først!";
}
?>
Avatar billede nielle Nybegynder
09. juli 2006 - 22:33 #23
Det tror jeg da ikke, for selv om man ikke er logget ind som admin, så kan man vel stadig være logget ind som alminelig bruger? Korrekt?
Avatar billede nielle Nybegynder
09. juli 2006 - 22:35 #24
... men der er ikke nogen grund til at gå en tur i databasen en gang til. Det gjorde du jo allerede i forbindelse med login, og dengang gemte du de vigtige oplysninger i din session. DSorfor skal du bare hente oplysningerne der i stedet.
Avatar billede funny Nybegynder
09. juli 2006 - 22:38 #25
min sider er bygget op i tabel men vis man ikke trykker kode ind viser den du skal logge ind først oppe i venstre hjørne over tabel det ser ikke godt ud men det er til at leve med vis ma ikke kan lave om på det
Avatar billede nielle Nybegynder
09. juli 2006 - 22:41 #26
Kan du ikke prøve at sætte nogle punktummer, kommaer og spørgsmålstegn ind hist og her på de rette pladser. Det vil hjælpe gevaldigt på forståelsen af det du skriver.

Var det et spørgsmål, eller hvad?
Avatar billede funny Nybegynder
09. juli 2006 - 22:45 #27
Jeg prøver mig frem, takker for hjælpen. Laver du et svar så du kan få point.
Avatar billede nielle Nybegynder
09. juli 2006 - 22:46 #28
Ok så, men du er meget velkommen til at spørge mere. :^)

... og et svar :^)
Avatar billede funny Nybegynder
11. juli 2006 - 13:48 #29
nielle vis du læser det her kan du så ikke lige skrive
Avatar billede nielle Nybegynder
11. juli 2006 - 18:07 #30
Spørg løs :^)
Avatar billede funny Nybegynder
12. juli 2006 - 22:00 #31
det login system vi har arbejdet. det køre med md5 crypt kan du ige mig hvordan man kan tilføje det i sin opret.php
Avatar billede nielle Nybegynder
13. juli 2006 - 18:28 #32
Koden i 09/07-2006 21:39:00 tager allerede højde for at passwords ligger md5-krypteret.

Er det når du skal oprette en ny bruger at du har brug for at md5-kryptere? Er det ikke allerede på plads siden at I jo køre med md5?


md5 er i øvrigt ikke en kryptering ... det er en envejs-hash, og dens styrke består netop i at den ikke kan dekrypteres.
Avatar billede funny Nybegynder
14. juli 2006 - 21:41 #33
hvis jeg opretter en bruger sådan her

navn:test
kode:demo

så kommer det sådan ind i sqlen den viser ikke koden i md5? man kan se koden demo skal den det
Avatar billede nielle Nybegynder
14. juli 2006 - 22:12 #34
Nej bestemt ikke... du skal køre kode igennem md5() før at du lægger den i databasen.
Avatar billede funny Nybegynder
17. juli 2006 - 17:25 #35
kan du sige mig hvordan man gør det
Avatar billede funny Nybegynder
17. juli 2006 - 17:26 #36
kan godt lave et nyt spg, hvis du vil have point for det.
Avatar billede nielle Nybegynder
17. juli 2006 - 18:12 #37
Vi tager den bare her; Jeg skal skam ikke have flere point for det. :^)

Fremgangsmåden er simpel nok. Det eneste jeg undre mig over, er at du ikke allerede har koden, siden at den kode du har postet tidligere bassere sig på at kodeord er md5()-krypteret i dit system. Det hænger jo ikke helt sammen?

Nå, men til en mulig måde:

Hvis man opretter en ny bruger er det mindste man skal gøre at vælge et brugernavn og et password. Brugeren indtaster disse i en formular og trykker så på Send-knappen. Derefter kan du aflæse værdierne i dit PHP-script:

$user_name = $_POST["navn"];
$user_pass = $_POST["pass"];

$user_name = mysql_real_escape_string($user_name);
$user_pass = md5($user_pass);

$sql = "INSERT INTO user_script (user_name, user_pass) VALUES ('$user_name', '$user_pass')";
mysql_query($sql) or die(mysql_error);
Avatar billede funny Nybegynder
22. juli 2006 - 21:23 #38
min submitbruger.php ser sådan ud

<?php
    include("db.php");
    $sql = "INSERT INTO user_script (user_name,user_pass,user_mail,user_tele,user_1,user_2) VALUES('$name','$pass','$mail','$tele','$1','$2')";
    $result = mysql_query($sql);
?>
Avatar billede funny Nybegynder
22. juli 2006 - 21:26 #39
opret.php ser sådan ud.

<body>
<form method="POST" action="submitbruger.php">
  <div align="center">
    <? if ($fejl == "okay") { echo "<font face=Verdana size=2 color=yellow>Brugeren <b><?=$brugeren?></b> er blevet oprettet<br></font>"; } ?>
  </div>
  <table width="124" align="center">
    <tr>
      <td><span class="style3">Bruger</span></td>
      <td><input type=text name="name"></td>
    </tr>
    <tr>
      <td><span class="style3">kode</span></td>
      <td><input type=text name="pass"></td>
    </tr>
    <tr>
      <td><span class="style3">mail</span></td>
      <td><input type=text name="mail"></td>
    </tr>
    <tr>
      <td><span class="style3">telefon</span></td>
      <td><input type=text name="tele"></td>
    </tr>
    <tr>
      <td><span class="style3">1</span></td>
      <td><select name="1" class=myinput>
        <option>ja</option>
        <option>nej</option>
      </select>      </td>
    </tr>
    <tr>
      <td><span class="style3">2</span></td>
      <td><select name="2" class=myinput>
        <option>ja</option>
        <option>nej</option>
      </select>      </td>
    </tr>
    <tr>
      <td colspan="2" align="center"><input type="submit" value="Tilføj Bruger" name="B1"></td>
    </tr>
  </table>
</form>
</body>
</html>
Avatar billede funny Nybegynder
22. juli 2006 - 21:38 #40
men kan se der er noget galt da den ikke opretter noget i sqlen bruger data bliver tomme
Avatar billede nielle Nybegynder
22. juli 2006 - 23:01 #41
Nu lavede jeg ellers et pænt stykke kode til dig som ovenikøbet forsvarede imod SQL-injection...

Well, du skal rette din submitbruger.php til:

<?php
    include("db.php");
    $sql = "INSERT INTO user_script (user_name,user_pass,user_mail,user_tele,user_1,user_2) VALUES('$name','" . md5($pass) . "','$mail','$tele','$1','$2')";
    $result = mysql_query($sql);
?>
Avatar billede funny Nybegynder
23. juli 2006 - 23:33 #42
der er noget galt den laver kun koden
Avatar billede nielle Nybegynder
24. juli 2006 - 07:02 #43
Prøv at omdøve navnet på dit "name" felt til at hedde noget andet end "name".
Avatar billede funny Nybegynder
24. juli 2006 - 14:46 #44
nej det hjalp ikke sorry plus jeg har lige set at koden er den sammen i alle
Avatar billede nielle Nybegynder
24. juli 2006 - 18:55 #45
"... koden er den sammen i alle ..." - hvad mener du?
Avatar billede funny Nybegynder
24. juli 2006 - 22:17 #46
hvis jeg opretter 3 bruger med vær sin kode bliver den det samme i sqlen som md5
Avatar billede funny Nybegynder
24. juli 2006 - 22:17 #47
samt den opretter ikke noget af det andet
Avatar billede funny Nybegynder
24. juli 2006 - 22:39 #48
jeg har lige prøvet på min local server der kan jeg godt få det til at virke vis jeg blander det lidt kan det være min udbyder der ikke kan klare scriptet
Avatar billede nielle Nybegynder
25. juli 2006 - 21:00 #49
Sikkerheden hos din udbyder er større end på din egen installation. Derfor er der kode som virker hos dig, men ikke hos din udbyder. Bemærk, det er en god ting at din udbyder tager sikkerheden seriøst. Men det giver dig nogle problemer når du tester din kode hjemme og ser den virker det, men at den ikke virker når du lægger den op.

.oOo.


Din form skal rettes til dette:


===== del af opret.php =====

<form method="POST" action="submitbruger.php">
    <div align="center">
<?
if ($fejl == "okay")
{
    echo "<font face='Verdana' size='2' color='yellow'>Brugeren <b>" . $brugeren . "</b> er blevet oprettet<br></font>";
}
?>
    </div>
    <table width="124" align="center">
        <tr>
            <td><span class="style3">Bruger</span></td>
            <td><input type="text" name="navn"></td>
        </tr>
        <tr>
            <td><span class="style3">kode</span></td>
            <td><input type="password" name="pass"></td>
        </tr>
        <tr>
            <td><span class="style3">mail</span></td>
            <td><input type="text" name="mail"></td>
        </tr>
        <tr>
            <td><span class="style3">telefon</span></td>
            <td><input type="text" name="tele"></td>
        </tr>
        <tr>
            <td><span class="style3">1</span></td>
            <td>
                <select name="nr1" class="myinput">
                    <option>ja</option>
                    <option>nej</option>
                </select>
            </td>
        </tr>
        <tr>
            <td><span class="style3">2</span></td>
            <td>
                <select name="nr2" class="myinput">
                    <option>ja</option>
                    <option>nej</option>
                </select>
            </td>
        </tr>
        <tr>
            <td colspan="2" align="center"><input type="submit" value="Tilføj Bruger" name="B1"></td>
        </tr>
    </table>
</form>

=====


Jeg har rettet din kode en del steder for at det blev nogenlunde korrekt HTML. Det vigtigste er dog at jeg har rettet navnene på tre af input-felterne. Prøv at finde dem, og spekuler så på hvad grunden er ... hvis du ikke helt kan gennemskue det, vil jeg dog gerne svare dig senere. :^)

Dernæst har jeg rettet din submitbruger.php sådan at den passer med formen. Det er faktisk bare en direkte viderbygning på det jeg viste tidligere i 17/07-2006 18:12:38!


===== submitbruger.php =====

<?php
$user_name = $_POST["navn"];
$user_pass = $_POST["pass"];
$user_mail = $_POST["mail"];
$user_tele = $_POST["tele"];
$user_1 = $_POST["nr1"];
$user_2 = $_POST["nr2"];

$user_name = mysql_real_escape_string($user_name);
$user_pass = md5($user_pass);
$user_mail = mysql_real_escape_string($user_mail);
$user_tele = mysql_real_escape_string($user_tele);
$user_1 = mysql_real_escape_string($user_1);
$user_2 = mysql_real_escape_string($user_2);

include("db.php");
$sql = "INSERT INTO user_script (user_name, user_pass, user_mail, user_tele, user_1, user_2) VALUES ('$user_name', '$user_pass', '$user_mail', '$user_tele', '$user_1', '$user_2')";
mysql_query( or die(mysql_error()));
?>

=====
Avatar billede funny Nybegynder
25. juli 2006 - 22:06 #50
jeg er ked af at sige det men den opretter ikke noget
Avatar billede funny Nybegynder
25. juli 2006 - 22:13 #51
ved ikke om det er her der er ged i den

CREATE TABLE `user_script` (
  `id` int(6) NOT NULL auto_increment,
  `user_name` varchar(250) NOT NULL default '',
  `user_pass` varchar(250) NOT NULL default '',
  `user_mail` varchar(250) NOT NULL default '',
  `user_tele` varchar(250) NOT NULL default '',
  `user_1` varchar(250) NOT NULL default '',
  `user_2` varchar(250) NOT NULL default '',
  PRIMARY KEY  (`id`),
  UNIQUE KEY `id` (`id`)
) TYPE=MyISAM PACK_KEYS=0 AUTO_INCREMENT=6 ;
Avatar billede nielle Nybegynder
25. juli 2006 - 22:19 #52
Der var nu også en enkelt linje i min submitbruger.php som så fuldstændig bizar ud...

<?php
$user_name = $_POST["navn"];
$user_pass = $_POST["pass"];
$user_mail = $_POST["mail"];
$user_tele = $_POST["tele"];
$user_1 = $_POST["nr1"];
$user_2 = $_POST["nr2"];

$user_name = mysql_real_escape_string($user_name);
$user_pass = md5($user_pass);
$user_mail = mysql_real_escape_string($user_mail);
$user_tele = mysql_real_escape_string($user_tele);
$user_1 = mysql_real_escape_string($user_1);
$user_2 = mysql_real_escape_string($user_2);

include("db.php");
$sql = "INSERT INTO user_script (user_name, user_pass, user_mail, user_tele, user_1, user_2) VALUES ('$user_name', '$user_pass', '$user_mail', '$user_tele', '$user_1', '$user_2')";
mysql_query($sql) or die(mysql_error()));
?>
Avatar billede nielle Nybegynder
25. juli 2006 - 22:20 #53
Ahh, ret:

mysql_query($sql) or die(mysql_error()));

- til:

mysql_query($sql) or die(mysql_error());
Avatar billede funny Nybegynder
25. juli 2006 - 22:25 #54
nu kom koden ind men alt det andet kommer ikke i ?
Avatar billede funny Nybegynder
25. juli 2006 - 22:26 #55
ser den ud som den vi brugte før

VALUES ('$user_name', '$user_pass', '$user_mail', '$user_tele', '$user_1', '$user_2')";
Avatar billede nielle Nybegynder
25. juli 2006 - 22:26 #56
Hvad mener du?
Avatar billede funny Nybegynder
25. juli 2006 - 22:31 #57
VALUES ('$user_name', '$user_pass', '$user_mail', '$user_tele', '$user_1', '$user_2')";


VALUES('$name','" . md5($pass) . "','$mail','$tele','$1','$2')";
Avatar billede funny Nybegynder
25. juli 2006 - 22:34 #58
det er sjovt at den smider koden ind men ikke det andet
Avatar billede nielle Nybegynder
25. juli 2006 - 22:41 #59
Du skal bruge den version jeg har skrevet:

$sql = "INSERT INTO user_script (user_name, user_pass, user_mail, user_tele, user_1, user_2) VALUES ('$user_name', '$user_pass', '$user_mail', '$user_tele', '$user_1', '$user_2')";

Den anden virkernemlig ikke når du uploader dit script.

Hvis den kun sætter koden ind så er det mystisk. Prøv - som debug - at udskrive SQL'en først:

<?php
$user_name = $_POST["navn"];
$user_pass = $_POST["pass"];
$user_mail = $_POST["mail"];
$user_tele = $_POST["tele"];
$user_1 = $_POST["nr1"];
$user_2 = $_POST["nr2"];

$user_name = mysql_real_escape_string($user_name);
$user_pass = md5($user_pass);
$user_mail = mysql_real_escape_string($user_mail);
$user_tele = mysql_real_escape_string($user_tele);
$user_1 = mysql_real_escape_string($user_1);
$user_2 = mysql_real_escape_string($user_2);

include("db.php");
$sql = "INSERT INTO user_script (user_name, user_pass, user_mail, user_tele, user_1, user_2) VALUES ('$user_name', '$user_pass', '$user_mail', '$user_tele', '$user_1', '$user_2')";

echo "DEBUG: $sql<br>";

mysql_query($sql) or die(mysql_error()));
?>
Avatar billede funny Nybegynder
25. juli 2006 - 22:42 #60
den laver hvid skærm?
Avatar billede nielle Nybegynder
25. juli 2006 - 22:45 #61
Det burde den i så fald også have gjort lige før?!
Avatar billede funny Nybegynder
25. juli 2006 - 22:45 #62
DEBUG: INSERT INTO user_script (user_name, user_pass, user_mail, user_tele, user_1, user_2) VALUES ('', '51ccbd1e2594c9ebee585043ae171546', '', '', '', '')
Avatar billede funny Nybegynder
25. juli 2006 - 22:45 #63
det viser den nu
Avatar billede nielle Nybegynder
25. juli 2006 - 22:47 #64
Spørgsmål 1) Hvilken versions´nummer af PHP bruger du?

2) Hvordan ser din opret.php kode ud?
Avatar billede funny Nybegynder
25. juli 2006 - 22:50 #65
hved ikke hvad b-one køre med. Og koden ser sådan ud nu.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form method="POST" action="submitbruger.php">
    <div align="center">
<?
if ($fejl == "okay")
{
    echo "<font face='Verdana' size='2' color='yellow'>Brugeren <b>" . $brugeren . "</b> er blevet oprettet<br></font>";
}
?>
    </div>
    <table width="124" align="center">
        <tr>
            <td><span class="style3">Bruger</span></td>
            <td><input type="text" name="navn"></td>
        </tr>
        <tr>
            <td><span class="style3">kode</span></td>
            <td><input type="password" name="pass"></td>
        </tr>
        <tr>
            <td><span class="style3">mail</span></td>
            <td><input type="text" name="mail"></td>
        </tr>
        <tr>
            <td><span class="style3">telefon</span></td>
            <td><input type="text" name="tele"></td>
        </tr>
        <tr>
            <td><span class="style3">1</span></td>
            <td>
                <select name="nr1" class="myinput">
                    <option>ja</option>
                    <option>nej</option>
                </select>
            </td>
        </tr>
        <tr>
            <td><span class="style3">2</span></td>
            <td>
                <select name="nr2" class="myinput">
                    <option>ja</option>
                    <option>nej</option>
                </select>
            </td>
        </tr>
        <tr>
            <td colspan="2" align="center"><input type="submit" value="Tilføj Bruger" name="B1"></td>
        </tr>
    </table>
</form>
</body>
</html>
Avatar billede funny Nybegynder
25. juli 2006 - 22:51 #66
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<?php
$user_name = $_POST["navn"];
$user_pass = $_POST["pass"];
$user_mail = $_POST["mail"];
$user_tele = $_POST["tele"];
$user_1 = $_POST["nr1"];
$user_2 = $_POST["nr2"];

$user_name = mysql_real_escape_string($user_name);
$user_pass = md5($user_pass);
$user_mail = mysql_real_escape_string($user_mail);
$user_tele = mysql_real_escape_string($user_tele);
$user_1 = mysql_real_escape_string($user_1);
$user_2 = mysql_real_escape_string($user_2);

include("db.php");
$sql = "INSERT INTO user_script (user_name, user_pass, user_mail, user_tele, user_1, user_2) VALUES ('$user_name', '$user_pass', '$user_mail', '$user_tele', '$user_1', '$user_2')";

echo "DEBUG: $sql<br>";

mysql_query($sql) or die(mysql_error());
?>
</body>
</html>
Avatar billede nielle Nybegynder
25. juli 2006 - 22:53 #67
Prøv lige at kommentere kaldene til mysql_real_escape_string() ud:

<?php
$user_name = $_POST["navn"];
$user_pass = $_POST["pass"];
$user_mail = $_POST["mail"];
$user_tele = $_POST["tele"];
$user_1 = $_POST["nr1"];
$user_2 = $_POST["nr2"];

// debugning... $user_name = mysql_real_escape_string($user_name);
$user_pass = md5($user_pass);
// debugning... $user_mail = mysql_real_escape_string($user_mail);
// debugning... $user_tele = mysql_real_escape_string($user_tele);
// debugning... $user_1 = mysql_real_escape_string($user_1);
// debugning... $user_2 = mysql_real_escape_string($user_2);

include("db.php");
$sql = "INSERT INTO user_script (user_name, user_pass, user_mail, user_tele, user_1, user_2) VALUES ('$user_name', '$user_pass', '$user_mail', '$user_tele', '$user_1', '$user_2')";

echo "DEBUG: $sql<br>";

mysql_query($sql) or die(mysql_error());
?>
Avatar billede funny Nybegynder
25. juli 2006 - 22:54 #68
DEBUG: INSERT INTO user_script (user_name, user_pass, user_mail, user_tele, user_1, user_2) VALUES ('fdghfh', '37b40c0b481601df1ba1c1a57b61e6df', 'gfh', 'fhfgh', 'ja', 'ja')
Avatar billede funny Nybegynder
25. juli 2006 - 22:54 #69
nu kom de squ også i sqlen
Avatar billede nielle Nybegynder
25. juli 2006 - 23:00 #70
Ok, men så var det vist mysql_real_escape_string() som var problemet. Prøv så med denne i stedet for:

<?php
$user_name = $_POST["navn"];
$user_pass = $_POST["pass"];
$user_mail = $_POST["mail"];
$user_tele = $_POST["tele"];
$user_1 = $_POST["nr1"];
$user_2 = $_POST["nr2"];

$user_name = mysql_escape_string($user_name);
$user_pass = md5($user_pass);
$user_mail = mysql_escape_string($user_mail);
$user_tele = mysql_escape_string($user_tele);
$user_1 = mysql_escape_string($user_1);
$user_2 = mysql_escape_string($user_2);

include("db.php");
$sql = "INSERT INTO user_script (user_name, user_pass, user_mail, user_tele, user_1, user_2) VALUES ('$user_name', '$user_pass', '$user_mail', '$user_tele', '$user_1', '$user_2')";

echo "DEBUG: $sql<br>";

mysql_query($sql) or die(mysql_error());
?>
Avatar billede funny Nybegynder
25. juli 2006 - 23:01 #71
yep det virker
Avatar billede nielle Nybegynder
25. juli 2006 - 23:01 #72
Godt, så er det den version du beholder :^)
Avatar billede funny Nybegynder
25. juli 2006 - 23:02 #73
hvodan får jeg den til at skrive bruger er oprettet og ikke vise debug
Avatar billede funny Nybegynder
25. juli 2006 - 23:03 #74
er du sikker på du ikke vil have point for hjælpen jeg kan bare lave dig et nyt spg
Avatar billede nielle Nybegynder
25. juli 2006 - 23:03 #75
Nej, tak til fler point :^(
Avatar billede nielle Nybegynder
25. juli 2006 - 23:04 #76
Forkert parentes!

Nej, tak til flere point :^)
Avatar billede nielle Nybegynder
25. juli 2006 - 23:05 #77
> hvodan får jeg den til at skrive bruger er oprettet og ikke vise debug

Se det synes jeg jo at du burde kunne gætte dig frem til. Der er echo-sætningen som udskriver.
Avatar billede funny Nybegynder
25. juli 2006 - 23:06 #78
kan du sige mig hvordan jeg får den til at hoppe tilbage til opret.php og samt hvise bruger er oprettet
Avatar billede nielle Nybegynder
25. juli 2006 - 23:10 #79
Hoppet tilbage til opret.php kan laves med en header():

header("Location: opret.php");

Hvis du også skal kunne skrive - på opret.php - at brugeren er oprettetm så skal den se sådan her ud:

header("Location: opret.php?fejl=okay");

Derefter skal du bare lige have rettet denne her:

<?
if ($fejl == "okay")
{
    echo "<font face='Verdana' size='2' color='yellow'>Brugeren <b>" . $brugeren . "</b> er blevet oprettet<br></font>";
}
?>

- til:

<?
if ($_GET["fejl"] == "okay")
{
    echo "<font face='Verdana' size='2' color='yellow'>Brugeren <b>" . $brugeren . "</b> er blevet oprettet<br></font>";
}
?>
Avatar billede funny Nybegynder
25. juli 2006 - 23:15 #80
spøre nok dumt igen hvor og hvad side skal det her ind ("Location: opret.php?fejl=okay");
Avatar billede nielle Nybegynder
25. juli 2006 - 23:21 #81
Den skal være lige *efter* der hvor du har udført sql'en. Hvis du placere den før, når scriptet aldrig ned til der hvor du indsætter i databasen.
Avatar billede funny Nybegynder
25. juli 2006 - 23:26 #82
det kan jeg ikke få den til sorry takker mangen gange for din hjælp
Avatar billede funny Nybegynder
25. juli 2006 - 23:32 #83
<script language=javascript>
    window.location = "opret.php?fejl=okay&brugeren<?=$brugernavn?>";
</script>
Avatar billede nielle Nybegynder
25. juli 2006 - 23:50 #84
Ahhh, der var jo et felt mere end kun "fejl". Det overså jeg lige.

Sådan:

header("Location: opret.php?fejl=okay&brugeren=" . $user_name);

- samt:

<?
if ($_GET["fejl"] == "okay")
{
    echo "<font face='Verdana' size='2' color='yellow'>Brugeren <b>" . $_GET["brugeren"] . "</b> er blevet oprettet<br></font>";
}
?>
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