Avatar billede webmaster123 Nybegynder
26. juli 2006 - 13:11 Der er 25 kommentarer

Hjælp til opret.php

Jeg har tesket rund i opret.php nu men jeg kan ikke finde ud af det, i kan se det her: http://www.123sjov.dk/login
Min koder ser sådan her ud:
<?php
$brugernavn = $_POST["brugernavn"];
$kodeord = $_POST["adgangskode"];
include("connect.php");
$q1 = mysql_query("select * from brugere where brugernavn = '$_POST[brugernavn]'");
if(mysql_num_rows($q1) > 0){
  print "Brugernavnet er optaget!";
}else{           
  if (!$brugernavn) {
    print "Du skal skrive et brugernavn";
  }
  if (!$kodeord) {
    echo "Du skal skrive et kodeord";
  }
  $adgangskode = md5($_POST['adgangskode']);
  if ($brugernavn && $adgangskode) {
  mysql_query("insert into brugere set brugernavn = '$_POST[brugernavn]', email = '$_POST[email]',adgangskode =

  $adgangskode'");
  include("index.php");
  exit();
  }
}
?>
<html>
<head>
<title>Opret en bruger</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="form1" method="post" action="">
  <p>Brugernavn:<br>
    <input name="brugernavn" type="text">
  </p>
  <p>Adgangskode:<br>
    <input name="adgangskode" type="password">
  </p>
  <p>E-mail<br>
    <input name="email" type="text">
  </p>
  <p>
    <input name="submit" type="submit" value="Opret">
  </p>

  </form>
</body>
</html>
Avatar billede mcgoat Nybegynder
26. juli 2006 - 13:20 #1
hvad er det du ikke kan finde ud af?
Avatar billede mcgoat Nybegynder
26. juli 2006 - 13:26 #2
men du skal vel lige have en action på i din form
<form name="form1" method="post" action="opret.php">

ellers ved den vel ikke hvor den skal sende informationerne hen
Avatar billede webmaster123 Nybegynder
26. juli 2006 - 13:28 #3
Hvis du kigger på siden så kan du se at man ikke kan oprette sig, den siger at man skal skrive et brugernavn selom man har gjort det?
Avatar billede mcgoat Nybegynder
26. juli 2006 - 13:32 #4
ja.. for den får jo ingen informationer når du ikke har defineret hvor den skal sende dem hen, prøv at sætte din action="opret.php" i din form
Avatar billede webmaster123 Nybegynder
26. juli 2006 - 13:32 #5
HAr gjort den virker stadig ikke?
Avatar billede iss Novice
26. juli 2006 - 13:34 #6
<html>
<head>
<title>Opret en bruger</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
$brugernavn = $_POST["brugernavn"];
$kodeord = $_POST["adgangskode"];
if (isset($brugernavn) && isset($kodeord)) {
    include("connect.php");
    $q1 = mysql_query("SELECT * FROM brugere WHERE brugernavn = '".$brugernavn."'") or print(mysql_error());
    if (mysql_num_rows($q1) > 0){
        $fejl = "Brugernavnet er optaget!";
    }
    else {         
        if (empty($brugernavn)) {
            print "Du skal skrive et brugernavn";
        }
        if (empty($kodeord)) {
            print "Du skal skrive et kodeord";
        }
        $adgangskode = md5($kodeord);
        if (empty($fejl)) {
            mysql_query("insert into brugere set brugernavn = '$_POST[brugernavn]', email = '$_POST[email]',adgangskode = $adgangskode'");
            header("Location: index.php");
            exit();
        }
    }
}
else {
    if (isset($fejl)) echo $fejl;
?>
<form action="<?_SERVER['PHP_SELF']?>" method="post" name="form1" id="form1">
  <p>Brugernavn:<br>
    <input name="brugernavn" type="text">
  </p>
  <p>Adgangskode:<br>
    <input name="adgangskode" type="password">
  </p>
  <p>E-mail<br>
    <input name="email" type="text">
  </p>
  <p>
    <input name="submit" type="submit" value="Opret">
  </p>

  </form>
<?
}
?>
</body>
</html>
Avatar billede iss Novice
26. juli 2006 - 13:37 #7
Der skal rettes lidt mere i den, men har ikke mere tid lige nu.
Avatar billede webmaster123 Nybegynder
26. juli 2006 - 13:38 #8
Den virker ikke den viser blank side
Avatar billede mcgoat Nybegynder
26. juli 2006 - 13:39 #9
if (isset($brugernavn) && isset($kodeord)) {

vil det ikke være bedre at tjekke isset på $_POST variablerne. for $brugernavn er jo sat egentlig, den er bare "" hvis man ikke har skrevet noget, men så er den vel stadig sat?
Avatar billede mcgoat Nybegynder
26. juli 2006 - 13:40 #10
prøv med
if (isset($_POST['brugernavn']) && isset($_POST['kodeord'])) {
Avatar billede webmaster123 Nybegynder
26. juli 2006 - 13:41 #11
Jeg har ikke så meget forstand på det der så kan desværre ikke være med i samtalen
Avatar billede webmaster123 Nybegynder
26. juli 2006 - 13:43 #12
Nej den viser stadig blank, Hmm
Avatar billede mcgoat Nybegynder
26. juli 2006 - 13:55 #13
hvordan ser din DB ud?

id, brugernavn, email, password?
Avatar billede iss Novice
26. juli 2006 - 13:56 #14
For satan, jeg er så træt af B-gone! De har totalt newbie kunder og så slår de fejl fra pr default så det bare giver blank side...

Log ind på admin siden og slå fejl til (det tager op til 15 min for at virke).

I mellemtiden kan du prøve:
<?php
$brugernavn = $_POST["brugernavn"];
$kodeord = $_POST["adgangskode"];
$email = $_POST["email"];
$fejl = "";
if (isset($brugernavn) && isset($kodeord)) {
    include("connect.php");
    $q1 = mysql_query("SELECT * FROM brugere WHERE brugernavn = '".$brugernavn."'") or print(mysql_error());
    if (mysql_num_rows($q1) > 0){
        $fejl .= "Brugernavnet er optaget!";
    }
    else {
        if (empty($brugernavn)) {
            $fejl .= "Du skal skrive et brugernavn";
        }
        if (empty($kodeord)) {
            $fejl .= "Du skal skrive et kodeord";
        }
        if (empty($fejl)) {
            $adgangskode = md5($kodeord);
            mysql_query("INSERT INTO brugere SET brugernavn = '".$brugernavn."', email = '".$email."', adgangskode = '".$adgangskode."'");
            header("Location: index.php");
            exit();
        }
    }
}
else {?>
<html>
<head>
<title>Opret en bruger</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?    if (!empty($fejl)) echo $fejl;?>
<form action="<?_SERVER['PHP_SELF']?>" method="post" name="form1" id="form1">
  <p>Brugernavn:<br>
    <input name="brugernavn" type="text">
  </p>
  <p>Adgangskode:<br>
    <input name="adgangskode" type="password">
  </p>
  <p>E-mail<br>
    <input name="email" type="text">
  </p>
  <p>
    <input name="submit" type="submit" value="Opret">
  </p>

  </form>
<?
}
?>
</body>
</html>
Avatar billede iss Novice
26. juli 2006 - 13:59 #15
<?php
$brugernavn = @$_POST["brugernavn"];
$kodeord = @$_POST["adgangskode"];
$email = @$_POST["email"];
$fejl = "";
if (isset($brugernavn) && isset($kodeord)) {
    require("connect.php");
    $q1 = mysql_query("SELECT * FROM brugere WHERE brugernavn = '".$brugernavn."'") or print(mysql_error());
    if (mysql_num_rows($q1) > 0){
        $fejl .= "Brugernavnet er optaget!";
    }
    else {
        if (empty($brugernavn)) {
            $fejl .= "Du skal skrive et brugernavn";
        }
        if (empty($kodeord)) {
            $fejl .= "Du skal skrive et kodeord";
        }
        if (empty($fejl)) {
            $adgangskode = md5($kodeord);
            mysql_query("INSERT INTO brugere SET brugernavn = '".$brugernavn."', email = '".$email."', adgangskode = '".$adgangskode."'");
            header("Location: index.php");
            exit();
        }
    }
}
else {?>
<html>
<head>
<title>Opret en bruger</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?    if (!empty($fejl)) echo $fejl;?>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post" name="form1" id="form1">
  <p>Brugernavn:<br>
    <input name="brugernavn" type="text">
  </p>
  <p>Adgangskode:<br>
    <input name="adgangskode" type="password">
  </p>
  <p>E-mail<br>
    <input name="email" type="text">
  </p>
  <p>
    <input name="submit" type="submit" value="Opret">
  </p>

  </form>
<?
}
?>
</body>
</html>
Avatar billede iss Novice
26. juli 2006 - 13:59 #16
Den sidste har jeg testet for PHP fejl.
Avatar billede webmaster123 Nybegynder
26. juli 2006 - 13:59 #17
Har slået det til nu, hvad gør det godt for?
Avatar billede iss Novice
26. juli 2006 - 14:03 #18
At give blank side ved PHP fejl? Absolut intet, det kan du spørge B-gone om...
Avatar billede webmaster123 Nybegynder
26. juli 2006 - 14:04 #19
Ok, men nu visewr godt nok siden men når man trykker på opret sker der intet?
Avatar billede webmaster123 Nybegynder
26. juli 2006 - 14:04 #20
Eller jo  men man kommer til en blank side
Avatar billede iss Novice
26. juli 2006 - 14:06 #21
Fordi du får en PHP fejl med at SQL ikke kan et eller andet, som sagt det kan tage op til 15min før end at din fejl bliver vist (mit forslag, flyt til en host der har styr på det)
Avatar billede webmaster123 Nybegynder
26. juli 2006 - 14:09 #22
Okay, har ellers aldrig haft problemer med b-one før, vi har fem domæner og de har aldrig været nede eller haft problemer
Avatar billede webmaster123 Nybegynder
26. juli 2006 - 14:54 #23
Der sker ikke noget?
Avatar billede Slettet bruger
26. juli 2006 - 17:58 #24
mcgoat: Det er fuldstændigt korrekt at skrive action="". Det betyder, at formularen skal sendes til samme URL, som siden, den findes på. Og det er ikke bare et tilfælde, at browsere behandler det sådan. Det er faktisk en del af specifikationerne for hvordan en URL virker.
Avatar billede iss Novice
26. juli 2006 - 22:53 #25
Kom med et URL til siden, så vi andre har en chance for at se hvad du mener med der ikke sker noget...
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