Avatar billede MSR Juniormester
09. september 2011 - 21:48 Der er 11 kommentarer og
1 løsning

fejl efter opdatering til php5.

Jeg har for nyligt opdateret til php5 og nu fejler mine logins, mine includes osv. jeg har fundet på nettet: "The subdirectories had their own .htaccess mods to force php5 and that was forcing it to read the wrong php.ini which didn't have the /home/XXXX in it along with /var/www/html." hvilket evt tyder på at opdateringen har fucked up i nogle indstillinger.
eller at min system ikke er kompatibelt med php5?
jeg bruger en session/coockie system fra http://evolt.org/node/60384.

Nogen der har nogle gode råd?

Magnus
Avatar billede olsensweb.dk Ekspert
10. september 2011 - 08:20 #1
et "dumt" spørgsmål, er du opærksom på at short_open_tag er deaktiveret pr default ??
http://dk.php.net/manual/en/ini.core.php#ini.short-open-tag
løsning ret alle steder <? til <?php

jeg kan se noget af den code du tidligere har posted og det link du referarer til anvender short_open_tag

et link til siden vil måske kunne hjælpe og evt en test bruger
Avatar billede MSR Juniormester
10. september 2011 - 11:53 #2
hej
Det lyder som en mulighed. jeg ved bare hverken hvordan jeg tester det, eller hvordan jeg så retter det?
mit webhotel er hostet af surftown som jeg er godt tilfreds med men det er lidt svært at pille i indstillinger og redigere de programmer der er installeret.

og så er jeg ikke helt pjattet med at smide en testbruger op her.

hvad hulen er short-tag egentlig?

Magnus
Avatar billede MSR Juniormester
10. september 2011 - 11:58 #3
<? til <?php virkede ikke umiddelbart...
Avatar billede webweaver Praktikant
10. september 2011 - 15:18 #4
Der er flere ændringer fra PHP4 til PHP5 :) <? til <?php er een ting. Du bliver også nødt til at konstatere dine variabler nu fx.

Men det er lidt svært at hjælpe, når der bare postes så meget kode ...

Får du nogen fejlmeddelelser?
Avatar billede olsensweb.dk Ekspert
10. september 2011 - 17:38 #5
short tag rettes til std tag
<?    rettes til <?php
<?=    rettes til <?php echo

http://www.eksperten.dk/spm/940251 #2
Du kan ikke tilgå POST eller GET variabler på samme måde i PHP5 som du kunne i PHP4.

dette skyldes register_globals er slået fra http://php.net/manual/en/security.globals.php
dette er ikke problemet i dette tilfælde (viste code)

jeg har lige DL hans zip fil, og rettet <? til <?php i alle filer, (der er 61 steder), og så kan jeg oprette mig selv, logge ind, ændre pw, og logge ud (anvender php5).
du kan se du har en short_open_tag fejl ved at php coden skrives ud på skærmen

og som webweaver skriver Får du nogen fejlmeddelelser?
det var det jeg skulle bruge min test bruger til.
Avatar billede MSR Juniormester
10. september 2011 - 19:33 #6
for pokker. jeg prøvede lige at sætte register globals til on og nu er der nogle ting der virker men ikke alle. De virker dog som om det er min slamkode der er problemet? jeg prøver lige at være lidt kritisk og se om det udbedrer nogle fejl.

Magnus
Avatar billede MSR Juniormester
10. september 2011 - 20:08 #7
kan det have noget at gøre med at afvikling af php i .html filer ikke længere er muligt? jeg ved godt at det er forkert men det plejer faktisk at kunne lade sig gøre i den include html jeg har.

Kan det være problemet?

Magnus
Avatar billede MSR Juniormester
11. september 2011 - 01:11 #8
jeg har fået rettet en del og er kommet frem til at det vist kun er følgende der ikke virker:
if($session->logged_in)
    {
    echo "<font size='-6'>Logged ind som:</font> <b><font size='-3'>" . $session->username . "</font></b>";
    }
Else
    {
    echo "<font size='-6'>Ikke logged ind</font>";
    };
?>
Det er en del af en include html selvom det er php har det altid virket perfekt. nu siger den bare "ikke logged ind" selvom man ER logget ind. jeg mistænker min session for på en måde ikke at være "gemt" - kan den det?
Avatar billede olsensweb.dk Ekspert
11. september 2011 - 10:40 #9
#7
kan det have noget at gøre med at afvikling af php i .html filer ikke længere er muligt?
pr default kan det ikke lade sig gører, i gamle dage kunne man sætte php til at fortolke *.php3 *.php4, så det kunne vel i teorien lade sig gører, men jeg vil dog ikke anbefale det, ret hellerer din .html fil til .php.
udgangs punktet er: hvis der er code i filen der skal fortolkes af php skal filen have extension php

#8
if($session->logged_in)
    {
    echo "<font size='-6'>Logged ind som:</font> <b><font size='-3'>" . $session->username . "</font></b>";
    }
Else <-- skal værer lille e
    {
    echo "<font size='-6'>Ikke logged ind</font>";
    }; <-- ; fjernes
?>


sådan ser den originale ud i main.php
if($session->logged_in){
  echo "<h1>Logged In</h1>";
  echo "Welcome <b>$session->username</b>, you are logged in. <br><br>"
      ."[<a href=\"userinfo.php?user=$session->username\">My Account</a>] &nbsp;&nbsp;"
      ."[<a href=\"useredit.php\">Edit Account</a>] &nbsp;&nbsp;";
  if($session->isAdmin()){
      echo "[<a href=\"admin/admin.php\">Admin Center</a>] &nbsp;&nbsp;";
  }
  echo "[<a href=\"process.php\">Logout</a>]";
}
else{
?>


og så bør du nok kigge på noget CSS efterfølgende The font element is deprecated. ref http://www.w3schools.com/tags/tag_font.asp

hvordan ser din include."html" fil ud ??
Avatar billede MSR Juniormester
25. september 2011 - 00:52 #10
hej igen.
jeg er kommet frem til følgende:

Enten er det if($session->logged_in) der er problemet
eller
også er det <t jeg includer en php fil der skal hente data fra min session?

jeg ER logged ind og jeg kan godt poste andre php ting i min include - echo "et eller andet!";

Hvad siger I? hvorfor kan jeg ikke bruge mine sessiondata i min includerede phpfil?
Avatar billede MSR Juniormester
05. oktober 2011 - 13:12 #11
jeg har stadig følgende fejl:

i index.php
<?php include("http://www.herfoelgespejderne.dk/menu.php"); ?>


menu.php:
<?php
if($session->logged_in)   
    {
    echo "<li style='font-size:11px; text-align:center; color:#FD8079'>Bruger: " . $session->username . "</li>
    <li><a href='http://www.dds.dk/traening' target='_blank' title='Skal du ikke snart på kursus?'>DDS Kursus</a></li>
    <li><a href='http://www.dds.dk/blaatmedlem' target='_blank' title='DDS´ medlemssystem'>Blåt medlem</a></li>
    <li><a href='http://dds.dk/find-blanketter' target='_blank' title='DDS officielle blanketter'>DDS blanketter</a></li>
    <li><a href='http://herfoelgespejderne.dk/login' title='Tilbage til login forsiden'>Forsiden</a></li>
    <li><a href='http://herfoelgespejderne.dk/login/info.php?user=$session->username'>Din konto</a></li>
    <li><a href='http://herfoelgespejderne.dk/login/useredit.php'>Ændre password</a></li>
    <li style='background-color:#FD8079'><a href='http://herfoelgespejderne.dk/login/process.php'>Logout</a></li>";
};
  if($session->isAdmin()){
      echo "<li style='background-color:#BBFF77'><a href='http://herfoelgespejderne.dk/login/admin/admin.php'>Admin Center</a></li>
      <li style='background-color:#BBFF77'><a href='http://herfoelgespejderne.dk/login/opret_bruger.php'>Opret bruger</a></li>
      <li style='background-color:#FD8079'><a href='http://herfoelgespejderne.dk/login/admin/adminprocess.php'>Logout</a></li>";
  }
else
    {
    echo "<li><a href='http://herfoelgespejderne.dk/login' title='Login'>Login</a></li>";
};
?>
</ul>

hvis jeg copy-paster koden direkte ind i index.php virker det men ikke hvis jeg includer. kan man ikke include filer der skal eksekveres selv?
Avatar billede MSR Juniormester
18. november 2011 - 15:19 #12
lukker spørgsmål og retter til nyt.
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