Avatar billede TumseMM Nybegynder
07. juli 2011 - 22:28 Der er 24 kommentarer og
1 løsning

Blive på index.php og ikke redirect

Hej Eksperten.dk

Jeg har et spørgsmål som i sikkert synes er barnemad, men det piner mig at jeg ikke kan finde ud af det.

Jeg vil gerne have at når man trykker "bruger", så skal den ikke redirecte til en ny side, men blive på forsiden, index.php.

Det her er koden på index.php:
<div style="position:absolute";>
<form action='Website.php' method='POST'>
<table>
    <tr>
        <td>
            Brugernavn:</td>
        <td>   
            <input type='text' name='username'><br>        </td>
    </tr>
   
    <tr>
        <td>
            Password:</td>
        <td>   
            <input type='password' name='password'><br>        </td>
       
    </tr>
    <tr>
        <td>
            <input name="login" type="submit" value="Login"><br></td>

</table>

Mangler du en <a href="register.php"><i>bruger</i></a>?
</form>

Og det her er på register.php:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<body>

<form action='<?=$_SERVER['PHP_SELF']?>' method='POST'>
<table>
    <tr>
        <td>Brugernavn: </td>
        <td><input type='text' name='username'><br></td>
    </tr>
    <tr>
        <td>Password: </td>
        <td><input type='password' name='password'><br></td>
    </tr>
    <tr>
        <td><input name="register" type="submit" value="Registrer"></td>
    </tr>
</table>
</form>
<?php
include('connect.php');

$submit=$_POST['register'];
$username = mysql_real_escape_string(strip_tags(htmlspecialchars($_POST['username']
)));
$password = md5($_POST['password']);


if($submit){

if(($username) and ($password) and ($email) and ($username!==NULL) and ($password!==NULL) and ($email!==NULL)){
$sql="INSERT INTO `users` (`id`,`username`,`password`) VALUES ('NULL','".$username."','".$password."')"
;
mysql_query($sql) or die(mysql_error());
echo "Tillykke! Du er nu registreret!<br><a href='Website.php'>Log in</a>";
}
}
?>
</body>
</html>

Sætter pris på alt form for hjælp!
Mvh. TumseMM
Avatar billede TumseMM Nybegynder
07. juli 2011 - 22:31 #1
Jeg ville gerne have at der ligesom kom en box op på midten af siden hvor man kan udfylde bruger info :)
Avatar billede jakobdo Ekspert
07. juli 2011 - 22:59 #2
Du tænker noget noget ala: http://jqueryui.com/demos/dialog/
Der snakker vi ajax.
Avatar billede Spench88 Nybegynder
08. juli 2011 - 09:48 #3
som nr 2 skriver. Ajax toolkit vil være formidabelt til dette problem :)
Avatar billede TumseMM Nybegynder
08. juli 2011 - 11:28 #4
Har aldrig nogensinde beskæftiget mig med ajax før. Er det et enkelt script dette problem jeg har?
Er der nogen der har et link eller noget viden hvor man kan kigge lidt på det? :)
Avatar billede jakobdo Ekspert
08. juli 2011 - 11:30 #5
Jeg har et link og tror også jeg postede det ind i mit første indlæg.
Avatar billede TumseMM Nybegynder
08. juli 2011 - 16:29 #6
nu har jeg prøvet men det lader ikke til at virke.. <meta charset="utf-8">
    <script>
    // increase the default animation speed to exaggerate the effect
    $.fx.speeds._default = 1000;
    $(function() {
        $( "#dialog" ).dialog({
            autoOpen: false,
            show: "blind",
            hide: "explode"
        });

        $( "#opener" ).click(function() {
            $( "#dialog" ).dialog( "open" );
            return false;
        });
    });
    </script>


<div class="demo">

<div id="dialog" title="Basic dialog">
</div>

<button id="opener" a href="register.php">Open Dialog</button>

</div><!-- End demo -->
<div class="demo-description">
</div><!-- End demo-description -->


Der komme ikke nogen box op på skærmen med register.php oplysninger som brugernavn, password? hvad er der galt?
Avatar billede jakobdo Ekspert
08. juli 2011 - 20:08 #7
Husker du at inkludere jquery og jqueryui ?
Avatar billede TumseMM Nybegynder
09. juli 2011 - 08:49 #8
Nu vil jeg prøve at lave en facebox, og nu må du rette mig i det jeg laver galt :):

<script src="jquery.js" type="text/javascript"></script>
<link href="/facebox/facebox.css" media="screen" rel="stylesheet" type="text/css"/>
<script src="/facebox/facebox.js" type="text/javascript"></script>

<a href="register.php" rel="facebox">Register</a>

Jeg bliver stadig bare redirectet over til register.php på den blanke side?
Avatar billede jakobdo Ekspert
09. juli 2011 - 20:12 #9
Sker det når du klikker på REGISTER ?
Eller når du efterfølgende på din form trykker register... ?
Avatar billede TumseMM Nybegynder
09. juli 2011 - 21:29 #10
Når jeg klikker register, bliver jeg redirectet til den hvide side :)
Avatar billede jakobdo Ekspert
09. juli 2011 - 21:32 #11
Hvis du har facebox koden herfra: http://defunkt.io/facebox/

Og benytter metoden ajaxes...
Så burde det altså virke.
Har du andre js frameworks på din side?
Har du nogle fejl i fejl consolen i firefox f.eks. ? (jeg tænker js fejl)
Avatar billede TumseMM Nybegynder
09. juli 2011 - 23:00 #12
Altså jeg har dette script som ikke fungerer optimalt.
<a href="register.php" rel="facebox">Register</a>
<script src="jquery.js" type="text/javascript"></script>
<link href="/facebox/facebox.css" media="screen" rel="stylesheet" type="text/css"/>
<script src="/facebox/facebox.js" type="text/javascript"></script>

Og så har jeg:
<script type="text/javascript">
  function tjekFelter(form)
  {
      if(form.tekst.value == "")
      {
        alert("Husk at afslutte sætningen!");
        return false;
      }
      if(form.name.value == "")
      {
        alert("Du skal indtaste et navn!");
        return false;
      }
      return true;
  }
</script>

Men det burde da ikke have nogen indflydelse på noget?

Kan du ikke prøve at lave det der ajax script til mig, Jakobdo? :)
Avatar billede jakobdo Ekspert
10. juli 2011 - 19:58 #13
Har du husket:

<script type="text/javascript">
$(function($) {
  $('a[rel*=facebox]').facebox()
})
</script>
Avatar billede jakobdo Ekspert
10. juli 2011 - 19:59 #14
g der skulle ikke $ mellem ( og )

<script type="text/javascript">
$(function() {
  $('a[rel*=facebox]').facebox()
})
</script>
Avatar billede TumseMM Nybegynder
11. juli 2011 - 11:39 #15
Er det sådan her du mener, fordi det virker ikke. :(:

<script type="text/javascript">
$(function() {
  $('a[rel*=facebox]').facebox()
})
</script>
<a href="register.php" rel="facebox">Register</a>
<script src="jquery.js" type="text/javascript"></script>
<link href="/facebox/facebox.css" media="screen" rel="stylesheet" type="text/css"/>
<script src="/facebox/facebox.js" type="text/javascript"></script>

Please hjælp
Avatar billede jakobdo Ekspert
13. juli 2011 - 10:36 #16
Prøv følgende:

<html>
<head>
<title>Facebox test</title>
<script src="jquery.js" type="text/javascript"></script>
<link href="/facebox/facebox.css" media="screen" rel="stylesheet" type="text/css"/>
<script src="/facebox/facebox.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
  $('a[rel*=facebox]').facebox()
})
</script>
</head>
<body>
<a href="register.php" rel="facebox">Register</a>
</body>
</html>
Avatar billede TumseMM Nybegynder
13. juli 2011 - 16:47 #17
Hej igen.

Det virker af en eller anden underlig grund stadig ikke. Jeg bliver stadig bare redirectet over til register.php's side. Hvordan får jeg den der box frem på forsiden..? Det giver ingen mening.
Der står på forsiden, den der knap "Register", så klikker jeg og kommer bare over på den hvide side.

mvh tumsemm
Avatar billede jakobdo Ekspert
13. juli 2011 - 21:22 #18
Jeg fandt ud af facebox kun virker med jquery til og med 1.4.4, nyere fejler.

Test denne kode:

<!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" xml:lang="en" lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <title>Facebox test</title>
  <script src="http://code.jquery.com/jquery-1.4.4.js" type="text/javascript"></script>
  <link href="facebox.css" media="screen" rel="stylesheet" type="text/css"/>
  <script src="facebox.js" type="text/javascript"></script>
  <script type="text/javascript">
  $(function() {
    $('a[rel*=facebox]').facebox()
  })
  </script>
</head>
<body>
<a href="register.html" rel="facebox">Register</a>
</body>
</html>
Avatar billede TumseMM Nybegynder
13. juli 2011 - 21:45 #19
Det virker stadig ikke. Mon jeg har installeret det ordentligt..? Da jeg prøvede at downloade jQuery fra deres hjemmeside www.jquery.com. Kom der bare en masse linjer script op da jeg klikkede "jQuery download"?..

Det kan også være at jeg ikke har placeret Facebox v.1.3 ordentligt. På http://defunkt.io/facebox/, står der at man skal downloade det der Facebox v.1.3 under download-fanen. Jeg har bare downloadet det og puttet den i 'htdocs' i xampp mappen. Præcis ligesom alle mine andre php-filer.

Det driver mig til vanvid det her.
Avatar billede jakobdo Ekspert
13. juli 2011 - 21:55 #20
Tja, det er jo spørgsmål du umiddelbart kun selv kan svare på.
Og ellers skal du vise en side, så jeg kna se hvad du roder med.
Eller bare koden som minimum.
Avatar billede TumseMM Nybegynder
19. juli 2011 - 10:38 #21
Hej igen jakobdo.

Fik det til at virke! Skulle bare downloade en ældre version af jQuery.! Tusind tak for hjælpen ellers.
Nu har jeg lige et enkelt mere spørgsmål, hvis du kan svare på det:

Når jeg nu trykker på "bruger" popper den fine facebox op på skærmen med de felter man skal bruge til at registrere sig. Nu har jeg selvfølgelig også lavet nogle errors, hvis der sker en fejl, og en succesful tekst, hvis registreringen fuldføres.

Problemet er at errorsne kommer først når man har lukket faceboxen ned, og op igen?? Så hvis man laver en error, lukker den ned, og åbner igen for faceboxen - står erroren dér??

Her er koden:

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <script src="inc/jquery-1.4.4.js" type="text/javascript"></script>
  <link href="inc/facebox/src/facebox.css" media="screen" rel="stylesheet" type="text/css"/>
  <script src="inc/facebox/src/facebox.js" type="text/javascript"></script>
  <script type="text/javascript">
  $(function() {
    $('a[rel*=facebox]').facebox()
  })
  </script>
<?php
$submit= $_POST['register'];
if($submit=="Registrer")
{
    include('connect.php');
    $username = mysql_real_escape_string(strip_tags(htmlspecialchars($_POST['username'])));
    $password1 = md5($_POST['password1']); // $password1 kan aldrig blive blank,
    $pw1 = $_POST['password1'];
    $pw2 = $_POST['password2'];
    $error=0;

    if($pw1 != $pw2)
    {
        $error = "De 2 kodeord er ikke ens!";
    }
    if($pw1 == "")
    {
        $error = "Du har ikke indtastet et kodeord!";
    }
    if($username == "")
    {
        $error = "Du har ikke indtastet et brugernavn!";

    }
    $sql = "SELECT id FROM users WHERE username LIKE '".$username."'";
    // $sql = "SELECT id FROM users WHERE username='" . $username . "'";
    $rs  = mysql_query($sql);
    if($rs)
    {
        if (mysql_num_rows($rs) == 1)
        {   
            echo "Brugernavnet er optaget";
        }   
    }
    if(!$error)
    {       
        $sql="INSERT INTO `users` (`username`,`password`) VALUES ('".$username."','".$password1."')";
        mysql_query($sql) or die(mysql_error());
        echo "Tillykke! Du er nu klar til at afslutte sætninger!<br><a href='Website.php'>Tilbage</a>";       

        echo "</body></html>";    // afslutter siden html mæssigt, så den også validerer
        exit; // visser ikke resten af siden,
    }
}
?>
<div style="position:absolute";>
<form action='Website.php' method='POST'>
<table>
    <tr>
        <td>
            Brugernavn:</td>
        <td>   
            <input type='text' name='username'><br>        </td>
    </tr>
   
    <tr>
        <td>
            Password:</td>
        <td>   
            <input type='password' name='password'><br>        </td>
       
    </tr>
    <tr>
        <td>
            <input name="login" type="submit" value="Login"><br></td>

</table>

Mangler du en <a href="#register" rel="facebox"><i>bruger</i></a>?
</form>
Avatar billede jakobdo Ekspert
24. juli 2011 - 16:37 #22
Error og lign, burde du jo nok vise i samme kode, som du viser i faceboxen...
Avatar billede TumseMM Nybegynder
24. juli 2011 - 17:55 #23
Ah på den måde :) Giv et svar!
Avatar billede jakobdo Ekspert
24. juli 2011 - 18:12 #24
Svar!
Avatar billede jakobdo Ekspert
24. juli 2011 - 19:51 #25
Takker for point.
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