Avatar billede nicocarlos Nybegynder
20. april 2004 - 21:43 Der er 16 kommentarer og
1 løsning

Hjælp til løsning af problem i et script

Jeg har et stort problem, for det første er min kode lidt indviklet, men jeg kan ikke finde den fejl der gør at den hopper ned til:
print "<p>Error, you are not logged into the game!";

hele tiden, og jeg er logget ind, håber der er nogle som kan hjælpe :D



<?php
include 'connect.php';
session_start();
?>
<html>
<head>
<title>.</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body style="margin: 0px; padding: 0px;">
<br>
<br>
<center>
<?
if (isset($_SESSION['player']))
  {
    if(isset($_POST['submit']))
        {
        $player=$_SESSION['player'];
        $yourstats="SELECT * from v_users where username='$player'";
        $yourstats2=mysql_query($yourstats) or die("Could not get your stats");
        $yourstats3=mysql_fetch_array($yourstats2);
        $clanname=$_POST['clanname'];
        $password=$_POST['password'];
        $pass2=$_POST['pass2'];
        $tag=$_POST['tag'];
        $today = time();
        $logo=$_POST['logo'];
        $homepage=$_POST['homepage'];
        $info=$_POST['info'];

            if ($password==$pass2)
                {
                  $isplayer="SELECT * from v_clans where name='$clanname'";
                  $isplayer2=mysql_query($isplayer) or die("Could not query name table");
                  $isplayer3=mysql_fetch_array($isplayer2);
                  $isprovince="SELECT * from v_clans where tag='$tag'";
                  $isprovince2=mysql_query($isprovince) or die("Could not query tag table");
                  $isprovince3=mysql_fetch_array($province2);
       
                      if(!$_POST['password'] || !$_POST['pass2'])
                      {
                    print "<p>Error - something went wrong with your clan code!";
                      }
                      else if($isplayer3 || strlen($player)>25 || strlen($player)<4)
                      {
                    print "<p>Allready a clan with that name or it can't be longer than 25 characters or less than 4";
                      }
                      else if($isprovince3 || strlen($provincename)>10 || strlen($provincename)<3)
                      {
                    print "<p>Allready a clan with that tag or it can't be longer than 10 characters or less than 3";
                  }
                  else
                  {
                $isaddress="SELECT * from v_clans where tag='$tag'";
                $isaddress2=mysql_query($isaddress) or die("not able to query for password");
                $isaddress3=mysql_fetch_array($isaddress2);
                   
                    if($isaddress3)
                    {
                      print "<p>Allready a clan with that tag!";
                }
                else
                {
                  $playerid=$yourstats3[ID];
                  $password=md5($password);
                  $SQL = "INSERT into v_clans(name, password, tag, logo, homepage, info, created, leader) VALUES ('$clanname','$password','$tag','$logo','$homepage','$info','$today','$playerid')";
                  mysql_query($SQL) or die("could not register");
                  print "<p>You have just created a new clan:<br>";
                }
              }
          }
    }
}
else
{
  print "<p>Error, you are not logged into the game!";
}
?>
</center>
   
</body>
</html>
Avatar billede dennismp Nybegynder
20. april 2004 - 21:56 #1
Du skal have defineret player i session et sted. (Evt på en anden side)..
fx:
$_SESSION['player'] = 'mitplayernavn';

Er der ikke en side, hvor du skal logge ind?
Avatar billede nicocarlos Nybegynder
20. april 2004 - 21:58 #2
jo der er en side du skal logge ind på: login.php/authenticate.php.....
<?php

include "connect.php";

if (isset($_POST['submit']))
{
    $player=$_POST['player'];
    $password=$_POST['password'];
    $password=md5($password);
    $query = "select * from v_users where username='$player' and password='$password'";
    $result = mysql_query($query) or die("No te Gusta") ;
    $result2=mysql_fetch_array($result);
    if($result2)
    {
      session_start();
          $id = $result2['ID'];
      $_SESSION['player']=$player;
      $_SESSION['id']=$id;
      print "You are now logged into the game!<br><br>";
      print "<A href='index.php'>pRess here to start!</a>";
    }
    else
    {
      print "Wrong username or code please try again!";
    }
}

?>
Avatar billede nicocarlos Nybegynder
20. april 2004 - 22:07 #3
Det kan ikke være den her som har problmer med at det er en id den skal hente ud??
$playerid=$yourstats3[ID];
Avatar billede dennismp Nybegynder
20. april 2004 - 22:09 #4
Får du besked om at du er logget ind? (You are now logged into the game!)
Avatar billede nicocarlos Nybegynder
20. april 2004 - 22:20 #5
ja den får jeg..
Avatar billede nicocarlos Nybegynder
20. april 2004 - 22:21 #6
alle mine andre script kan også sagtens finde session player, men bare ikke det script der, og jeg kan simpelthen ikke finde fejlen
Avatar billede dennismp Nybegynder
20. april 2004 - 22:25 #7
Jeg ved ikke. Har du prøvet at skrive indholdet af $_SESSION ud, og se om der findes en player i den? (med print_r)
Avatar billede nicocarlos Nybegynder
20. april 2004 - 22:27 #8
ja, den skriver ikke noget, men jeg ved ikke hvorfor
Avatar billede dennismp Nybegynder
20. april 2004 - 22:33 #9
Den session må forsvinde, af en eller anden årsag. Hvad hvis du laver en ny fil der kun indeholder print_r($_SESSION), gemmer den.. Logger ind, og bruge denne fil.. Er $_SESSION så også tom?
Avatar billede nicocarlos Nybegynder
20. april 2004 - 22:50 #10
tester lige
Avatar billede nicocarlos Nybegynder
20. april 2004 - 22:55 #11
session kan den godt få på en almindelig test side, men den forsvinder altså på den her side
Avatar billede dennismp Nybegynder
20. april 2004 - 22:59 #12
Hvad gør connect.php? Har du prøvet at sætte session_start() op foran den?
Avatar billede nicocarlos Nybegynder
20. april 2004 - 23:55 #13
db informationer og ja det hjælper ikke :(
Avatar billede dennismp Nybegynder
20. april 2004 - 23:58 #14
Jeg har ikke flere ideer lige nu. Beklager.
Avatar billede b4r0n3n Nybegynder
21. april 2004 - 10:59 #15
Prøv at sætte session_start(); ind øverst i authenticate.php
Avatar billede b4r0n3n Nybegynder
21. april 2004 - 11:03 #16
du kunne også prøve at ændre

if (isset($_SESSION['player']))

til

if ($_SESSION['player'] != "")

bare for sjov...
Avatar billede nicocarlos Nybegynder
08. august 2004 - 20:41 #17
har droppet det ellers tak :(
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