php / mysql feil?

php / mysql feil?

Innleggav LuiGi » fre 28.03.2008 21:59

jeg får opp denne error mld under IE7 (får ikke noe mld i FF, kommer bare opp "problem ved lasting av side)

Noen som har hint til hva det kan være som er feil her?

Kode: Merk alt
Warning: include(moduler/databasekobling.php) [function.include]: failed to open stream: Permission denied in /var/www/widdla/hoved.php on line 6

Warning: include() [function.include]: Failed opening 'moduler/databasekobling.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/widdla/hoved.php on line 6


Jeg ser at den ikke får tilgang til fila databasekobling.php , men der står koblingen til MySQL, og den får kontakt med SQL.
(apache2 , MySQL5, PHP5, ubuntu server)

Brukerens avatar
medlem i 236 måneder
 

Re: php / mysql feil?

Innleggav ak » lør 29.03.2008 3:53

Webserveren (wwwdata eller apache, ettersom hvilken distribusjon du bruker) har ikke rett til å lese filen databasekobling.php

chmod 644 på filen, eventuelt chmod 755 på directoryet den ligger i, og det burde fungere.

Administrator
Brukerens avatar
medlem i 237 måneder
 

Re: php / mysql feil?

Innleggav LuiGi » lør 29.03.2008 15:11

Men den klarer å lese av den filen, for om ikke, så hadde den ikke fått kontakt med databasen min.

chmod fungerte ikke desverre. (kjører ubuntu server)

Brukerens avatar
medlem i 236 måneder
 

Re: php / mysql feil?

Innleggav mariustidemann » søn 30.03.2008 12:13

Hvordan ser koden ut da i hoved.php, line 6?

Brukerens avatar
medlem i 212 måneder
 

Re: php / mysql feil?

Innleggav LuiGi » søn 30.03.2008 19:14

fant vistnåkk feilen i index.php fila, så nå vises siden, men jeg får nå ikke logget meg inn.

Brukerens avatar
medlem i 236 måneder
 

Re: php / mysql feil?

Innleggav mariustidemann » søn 30.03.2008 20:21

hehe.. den blir værre.

Brukerens avatar
medlem i 212 måneder
 

Re: php / mysql feil?

Innleggav LuiGi » søn 30.03.2008 21:06

hele systemet fungerer på en Mandrake 10,1 pc, men når jeg flyttet alt over på en Ubuntu server, så er det ikke noe som vil fungere slik som det skal.
Jeg er helt tom for ideer, og vet ikke hvor jeg skal søke for å finne feil.
En sier det er kodene som er skrevet, han som har utviklet siden, sier det er noe galt med serveren. :)

Brukerens avatar
medlem i 236 måneder
 

Re: php / mysql feil?

Innleggav mariustidemann » søn 30.03.2008 21:24

hehe.. og du blir kasteball.. skjønner. hva er URL til siden ?

Brukerens avatar
medlem i 212 måneder
 

Re: php / mysql feil?

Innleggav ak » søn 30.03.2008 21:31

Det er ikke sikkert at de to PHP installasjonene tolker include() likt.

Jeg er ikke helt sikker på om det er versjon eller konfigurasjon som avgjør, men på et tidspunkt ble det slik at stien er relativ til filen der scriptet startes, ikke filen man kjører include() fra.

Eksempel:
dir1/filA.php
dir1/dir2/filB.php
dir1/dir3/filC.php

Hvis filA startes, og den inneholder
include(dir2/filB.php)
og filB skal include filC så må det stå
include(dir2/filC.php) i filB.

Hvis du derimot startet scriptet gjennom filB må det stå
include(../dir2/filC.php) i filB.

Administrator
Brukerens avatar
medlem i 237 måneder
 

Re: php / mysql feil?

Innleggav mariustidemann » søn 30.03.2008 21:35

kanskje det hadde vært enklest å brukt "define" og satt opp en konstant path til include directoriet.

Brukerens avatar
medlem i 212 måneder
 

Re: php / mysql feil?

Innleggav LuiGi » søn 30.03.2008 22:02

sente deg en privat beskjed jeg Marius om adressen.

Som du ser, så vises nå siden, men jeg får ikke logget meg inn :)

Brukerens avatar
medlem i 236 måneder
 

Re: php / mysql feil?

Innleggav mariustidemann » søn 30.03.2008 22:35

jepp, ser det nå. Satt med en film så jeg så ikke at jeg hadde fått PM.

Denne innlogginga funka fint på Mandrakeserveren?
I såfall ville jeg sett litt mer på oppsettet av loginhandleren. Jeg prøvde bare med en helt tilfeldig login, og fikk ikke noe feilmelding engang, ble kun bounca tilbake til login. Så det er noe som går i loop antakelig? Med mindre den er programer til å ikke gi noen tilbakemelding på feil brukernavn / pw

edit:
ser forresten at formen sender til index.php, har du noe kode i indexfila som håndterer login ?

Brukerens avatar
medlem i 212 måneder
 

Re: php / mysql feil?

Innleggav LuiGi » ons 02.04.2008 10:47

Alt fungerer knirkefritt på MDK serveren ja.

Index.php ->

Kode: Merk alt
<?PHP
if (!isset($hovedfil)) { include ("hoved.php"); }
global $cookie_bruker;

if(isset($op)) {

  switch($op) {

    case "innlogging":
      setcookie("cookie_bruker");
      login($initialer,$pass);
      break;

    case "login":
      fullscreen();
      break;

    case "logg_inn":
      logg_inn($ny_skjermbreddebasis);
      break;

    case "logout":
      logg_ut();
      break;

    case "utlaansmeny":
      utlaansmeny();
      break;

    case "sjekk":
      $er_br=er_bruker($cookie_bruker);
      echo "Er_bruker: $er_br\n<br>\n";
      $ci=$HTTP_COOKIE_VARS["cookie_bruker"];
      echo "cookieinnhold: <br>\n $ci";
      echo $cookie_bruker;
      echo cookiedecode();
      break;

    default:
      $bruker=cookiedecode();

      if($bruker[0]) {
        oppdater_sist_logget();
        hovedside();
      } else {
        header("Location: index.php");
      }
      break;
  }
} else {
  $bruker=cookiedecode();

  if($bruker[0]) {
  oppdater_sist_logget();
  hovedside();
  } else {
    header("Location: index.php?op=login");
  }
}


function hovedside(){
  global $menyvalg, $bgcolor,$font;
  $bruker=cookiedecode();
  $tittel="Hovedsiden";
  $linkfarge="#000000";
  $vlinkfarge="#101010";
  $alinkfarge="#202020";
  include("header.php");

  echo "<center>\n";
  list_nyheter($ant_nyheter);
  echo "</center><br>\n<br>\n<br>";
  include("footer.php");

}





?>


Login.php ->

Kode: Merk alt
<?PHP

function sjekk_innlogging(){
  $bruker=cookiedecode();
  if(!$bruker[0]) {
    header("Location: index.php?op=login");
    die();
  }

}
function er_innlogget() {
  global $bruker;

  if(!$bruker[0]) {
    return 1;
  } else {
    return 0;
  }

}

function oppdater_sist_logget(){
  global $cookie_bruker;
  if($cookie_bruker[1]) { 
    $bruker=cookiedecode();
  }
   
 
  if ($bruker[0]) {
    $naa=time();
    $nett_adresse = getenv("REMOTE_ADDR");
    mysql_query("UPDATE bruker set sist_logget='$naa', nett_adresse='$nett_adresse' where bid='$bruker[0]'")
      or die("Klarer ikke å oppdatere sist_logget");
  }
}

function send_forlenget_idle_timeout(){
  global $cookie_bruker,$send_priv_msg_idle;   
  if($cookie_bruker[1]) { 
    $bruker=cookiedecode();
  }
  if(isset($cookie_bruker)) {
    $info=base64_decode($cookie_bruker);
    $info = base64_encode("$info");
    setcookie("cookie_bruker",$info,time()+($send_priv_msg_idle));
  }
}   
   
function sjekk_sist_logget(){
  global $cookie_bruker,$idle_timeout;   
  if($cookie_bruker[1]) {
    $bruker=cookiedecode();
  }
  if(isset($cookie_bruker)) {
    $info=base64_decode($cookie_bruker);
    $info = base64_encode("$info");
    setcookie("cookie_bruker",$info,time()+($idle_timeout));
  }

function logg_ut() {
  trivialogg(2);
  setcookie("cookie_bruker");
  Header("Location: index.php");
  exit;
}
 
function nylogin(){
  global $bruker;


  echo "<table cellpadding=0 border=0 cellspacing=0 #bgcolor=000066>\n";

  echo "<tr bgcolor='#000066'><td background=images/bluepx.gif>\n";
  echo "<form action='index.php' method='post'>\n";
  echo "<font size=\"2\" color=#FFFFFF>Initialer:</font>\n";
  echo "</td>\n";

  echo "<td background=images/bluepx.gif>\n";
  echo "<input type='text' name='initialer' size=3 maxlength=3><br> \n";
  echo "</td></tr>\n";

  echo "<tr bgcolor='#000066'><td background=images/bluepx.gif>\n";
  echo "<font size=\"2\" color=#FFFFFF>Passord:</font>\n";
  echo "</td>\n";

  echo "<td background=images/bluepx.gif>\n";
  echo "<input type='password' name='pass' size=10 maxlength=20>\n<br>\n";
  echo "</td></tr>\n";

  echo "<tr $bgcolor=#000066><td align='Center' background=images/bluepx.gif>\n";
  echo "<input type='hidden' name='op' value='innlogging'>\n";
  echo "<input type='submit' value='Skift bruker'>\n";
  echo "</td>\n";
  echo "</form>\n";

  echo "<td background=images/bluepx.gif align='Center'>\n";
  echo "<form action='index.php' method='post'>\n";
  echo "<input type='hidden' name='op' value='logout'>\n";
  echo "<input type='submit' value='Logg Ut'>\n";

  echo "</td>\n</form>\n</tr>\n";
  echo "\n";
  echo "</table>\n";

}  // nylogin()

function lagcookie($bid,$initialer,$navn,$passord,$red_bruker,$bestiller,$avd_leder,$avdeling_id,$superbruker) {
  global $idle_timeout;
  $info = base64_encode("$bid:$initialer:$navn:$passord:$red_bruker:$bestiller:$avd_leder:$avdeling_id:$superbruker");
  setcookie("cookie_bruker","$info",time()+$idle_timeout);
  trivialogg_med_bid(1,$bid);
}


function login($initialer,$passord) {
  $result = mysql_query("select * from bruker where (initialer='$initialer' AND aktiv='1')");
#  $result = mysql_query("select bid,initialer,navn,passord,red_bruker,bestiller,tlfnummer,mail from bruker where (initialer='$init$
  if(mysql_num_rows($result)==1) {
     
    $setinfo = mysql_fetch_array($result);
    $dbpass=$setinfo[passord];
   
    $passord=crypt($passord,$dbpass);
     
    if (!strcmp($passord,$dbpass)) {
      lagcookie($setinfo[bid],$setinfo[initialer],$setinfo[navn],$setinfo[passord],$setinfo[red_bruker],$setinfo[bestiller],$setinfo[avd_leder],$setinfo[avdeling_id],$setinfo[superbruker]);
      Header("Location: index.php");   
      return;
    }//if
    else {
     
      $tittel="Feil Passord";
      $overskrift="Feil Passord";
      $beskrivelse="Feil passord for $initialer. Prøv igjen.</center>\n";
      header("Location: index.php");
   
      return;
    }//else

#    echo $passord;
   }//if
   else {
    $tittel="Det fins ingen brukere i databasen med initialene \"$initialer\".";
    $onload="onLoad=\"document.loginform.initialer.focus();\"";
    include("header.php");
    echo "<Center><br><br>\n";
    echo "<br><br><Center>Det fins ingen brukere i databasen med initialene \"$initialer\".</center>\n";
    vis_loginskjema();
    include("footer.php");
    die();
   }//else
}//login

function logg_inn($ny_skjermbreddebasis){
  global $bruker,$bgcolor,$font,$idle_timeout;
  $ikkevis_byttbruker=1;
  $tittel="Innlogging";
  $varighet=180*24*3600;

  if($ny_skjermbreddebasis>320) {
    setcookie("cookie_skjermbreddebasis","$ny_skjermbreddebasis",time()+$varighet);
  }

  $onload="onLoad=\"document.loginform.initialer.focus();\"";
  include("header.php");
  vis_loginskjema();
  include("footer.php");
}  // logg_inn()


function vis_loginskjema() {
  global $cookie_bruker;
  include("moduler/globale_variabler.php");
  if (!er_bruker($cookie_bruker)) {
    echo "<table width='150' border=0 cellspacing=1 bgcolor=000000 cellpadding=2>\n";
    echo "<tr $bgcolor[1]><td>$font Login </font></td></tr>\n";
    echo "<tr $bgcolor[2]><td>\n";
    echo "<form action=\"index.php\" method=\"post\" name='loginform'>\n";
    echo "<input type='hidden' name=\"op\" value=\"innlogging\">\n";
    echo  "<center><font size=\"2\">Initialer<br>\n";
    echo "<input type=\"text\" name=\"initialer\" size=\"3\" maxlength=\"3\"><br>\n";
    echo "Passord<br>\n";
    echo "<input type=\"password\" name=\"pass\" size=\"12\" maxlength=\"20\"><br>\n";
    echo "<input type=\"submit\" value=\"Logg inn\"></font></center></form>\n";
    echo "\n</table>\n";
  }
}
?>


PS : jeg er ikke en dreven php/mysql person, men lærer så godt og så fort jeg kan :D

Brukerens avatar
medlem i 236 måneder
 

Re: php / mysql feil?

Innleggav LuiGi » ons 16.04.2008 16:45

Ingen som har en løsning på denne saken her?

Brukerens avatar
medlem i 236 måneder
 

Re: php / mysql feil?

Innleggav decodex » ons 16.04.2008 22:52

Virker ikke som det hentes ut noe data fra innloggingsskjema via $_POST, men at koden din baserer seg på at PHP er konfigurert med register_globals påslått. Dette er en utdatert innstilling som skaper mer trøbbel enn nytte, da den f.eks. flytter alt innhold i $_POST til globale variabler - $_POST['minVar'] blir tilgjengelig som $minVar osv.

På den nye serveren er sannsynligvis da register_globals fornuftig nok avslått, og derav antar jeg flere av dine variabler (som $op, $initialer, $pass) ikke er definert.

Du kan forøvrig forsøke sette:

Kode: Merk alt
error_reporting(E_ALL);


I starten av koden din et sted, og få rapportert evt. advarsler om ikke-definerte variabler osv. fra PHP. (Gitt at «display_errors» er riktig satt også.)

(En helt annen ting er at jeg ikke ville lagret bruker-ident i cookies, da det er mye lettere å jukse til.)

Brukerens avatar
medlem i 218 måneder
 


Returner til PHP



Hvem er i Forumene

Registrerte brukere: Google [Bot]