Avatar billede krummel Juniormester
08. november 2012 - 09:17 Der er 12 kommentarer og
1 løsning

script fejl efter php update

Har en side på Unoeuro som lige har opgraderet deres php til 5.3 (tror jeg). Herefter fejler min mailingliste formular når man forsøger at framelde/tilmelde sig (også når jeg tilgår admin delen)

Den skriver i en popup:
'Serveren XXXXXX.dk på Postlister-1128 kræver et brugernavn og en adgangskode'

Det er selvfølgelig ikke meningen. Jeg benytter mail scriptet Postlister
http://www.scripts.com/viewscript/postlister/4789/

Det må være noget med den måde scriptet tilgår databasen. Vil tro problemet er i enten settings.php, functions.php eller subscribe.php

Nu er jeg ikke en ørn til ph og aner derfor ikke hvor den ikke er kompatible med nyere php-versioner

nogen der kan hjælpe?
Avatar billede tobrukDk Novice
08. november 2012 - 09:51 #1
Skrive kode til os så kan vi kigge på det og hjælp dig :)
Avatar billede vagnk Juniormester
08. november 2012 - 09:53 #2
Jeg downloadede scriptet som sidst er opdateret 2011-03-26. Jeg forsøgte at finde din fejlmeddelelse i filen "danish.php", men kan ikke finde den der. En global søgning i mappen siger at teksten "brugernavn og en adgangskode" ikke forekommer i de filer jeg har downloadet?

Hvis vi kan finde fejlteksten i sourcekoden, kan man sikkert spore sig ind på fejlen. I nogle af sourcefilerne ser jeg osse dansk tekst.

Kan du fortælle nærmere hvilken fil der giver popup-siden med fejl?
Avatar billede olebole Juniormester
08. november 2012 - 14:50 #3
<ole>

I README-filen kan jeg se, at scriptet kræver PHP 3.0.8 - at det er testet med Opera 3.62, Explorer 5, Netscape 4.7 samt Netscape 6 i Preview Release. Det lyder fuldstændig som det WWW, vi arbejdede med omkring år 2000!

Koden tyder på, scriptet forudsætter, at magic_quotes er slået til i PHP. Det er det heldigvis ikke i nyere versioner, så det kunne meget vel afstedkomme omtalte fejl.

Den fejlmelding, du omtaler, kan jeg - ligesom Vagn - ikke finde. Den, der ligner mest, ligger i sprogvariablen $62 - som da også fyres af, når der ikke kan logges ind i databasen. Prøv følgende rettelse i toppen af :

if (basename($PHP_SELF) != "subscribe.php" && basename($PHP_SELF) != "confirm.php") {
    if (!$PHP_AUTH_USER) {
        header("WWW-Authenticate: Basic realm=\"Postlister\"");
        header("HTTP/1.0 401 Unauthorized");
        echo $s62;
        exit;
    }
    else {
        if ($PHP_AUTH_USER != $username || $PHP_AUTH_PW != $password) {
            echo '<div>PHP_AUTH_USER: '.$PHP_AUTH_USER.'</div>';
            echo '<div>Username: '.$username.'</div>';
            echo '<div>PHP_AUTH_PW: '.$PHP_AUTH_PW.'</div>';
            echo '<div>Password: '.$password.'</div>';

            echo $s62;
            exit;
        }
    }
}

/mvh
</bole>
Avatar billede olebole Juniormester
08. november 2012 - 14:51 #4
Ups ... det var i toppen af functions.php  =)
Avatar billede olsensweb.dk Ekspert
08. november 2012 - 21:03 #5
ref functions.php
if (basename($PHP_SELF) != "subscribe.php" && basename($PHP_SELF) != "confirm.php") { 

skulle da være
if (basename($_SERVER['PHP_SELF']) != "subscribe.php" && basename($_SERVER['PHP_SELF']) != "confirm.php") {


dvs der er sat $_SERVER foran, alle de reseveret server variable kig på http://php.net/manual/en/reserved.variables.server.php
der er rigtig mange af disse, spredt rundt om i filerne

er du sikker på at PHP_AUTH_USER existerer ??
for så bliver den fanget i if'en, og burde sende en header, forudsat der ikke er sendt noget til skærmen allerede, du har selvføgelig sat fejl meddelelser til ikk ??

echo "test".$_SERVER['PHP_AUTH_USER'];

if (! $_SERVER['PHP_AUTH_USER']) {   
    header("WWW-Authenticate: Basic realm=\"Postlister\"");
    header("HTTP/1.0 401 Unauthorized");
    echo $s62;
    exit;
}
else {
    if ($_SERVER['PHP_AUTH_USER'] != $username || $_SERVER['PHP_AUTH_PW'] != $password) {
        echo $s62;
        exit;
    }
}


jeg prøvede lige at køre index.php, og får masser af disse
Notice: Undefined variable: xxxxyyyy in C:\util\xampp\htdocs\test\postlister\language files\danish.php on line
samt denne
Notice: Undefined index: PHP_AUTH_USER in C:\util\xampp\htdocs\test\postlister\functions.php on line
Avatar billede olebole Juniormester
08. november 2012 - 21:36 #6
Jeg ville helt klart finde et andet script af en, der skriver nogenlunde seriøs PHP-kode. Store dele af scriptet består af oldgammel kode, som har skoddet slemt i mange år
Avatar billede vagnk Juniormester
09. november 2012 - 11:04 #7
Enig. Bare på denne side af Sirius findes der myriader af gode mail-scripts.

Til forsvar for vores spørger er det ikke altid nemt at vælge og især ikke mellem freeware. Dertil kommer at noget tyder på at der har været fiflet med krummels udgave. Så måske skulle han alligevel tage en runde mere efter et ordentligt mail-script.

Selvom SourceForge er seriøs finder man unægteligt en masse lort. Det pågældende script, "Postlister", har 1 recommendation, 8 downloads og Last Update: 2011-03-26. Det skulle måske få alarmklokkerne til at ringe.

-- Og det er måske svaret?
Avatar billede olebole Juniormester
09. november 2012 - 12:03 #8
Præcis ... og det er som sagt bare på denne side af Sirius. Derhjemme har vi zq også mange!  *D

Du har ret - det kan være svært at finde god freeware. Og det kan også være svært at finde rundt i de forskellige downloadsites' vaner og fremgangsmåder.

At der står 'Last Update: 2011-03-06', bør man nok ikke hænge sig så meget i. Hvad det er, der er opdateret, fremgår ikke - men der har, såvidt jeg kan se, ikke været aktivitet siden 2002-09-07 - og der er ikke blevet uploaded filer siden. Det passer også fint med oplysningerne om, at scriptet kræver PHP 3.0.8, og at det er testet med Opera 3.62, Explorer 5, Netscape 4.7 samt Netscape 6 i Preview Release. Om det så kan køre på damp og kridtdrevne tablets, ved jeg ikke  =)

Der er ikke grund til at tro, der specielt er fiflet med spørgers version, men der er al mulig grund til at kalde scriptet 'noget gammelt lort'  *o)
Avatar billede krummel Juniormester
11. november 2012 - 15:38 #9
Rigtig mange tak for hjælpen ind til videre. Men jeg har nok ikke udtrykket mig godt nok i #0

Fejlen med at den kræver adgangskode når en besøgende klikker på knappen 'tilmeld':
'Serveren XXXXXX.dk på Postlister-1128 kræver et brugernavn og en adgangskode'
Er en standard popup i browseren - ligesom når man prøver at tilgå en ftp fx ftp://stil.dk (har intet med det domæne at gøre) og altså ikke en fejlmeddelelse i scriptet.

Det er som om serveren ikke kan se Brugernavn og Password som står i  Settings.php. Så gætter på at der må være noget galt med koden der referer til til Navn og Pass eller sørger for at åbne databasen.

Jeg vil nærlæse Jeres svar igen og prøve nogle af forslagene.

Da jeg i sin tid for ca. 5 år lavede min side, var Postlister det bedste gratis script, jeg kunne finde og som passede lige til mit behov. Mine php færdigheder er ikke gode nok til at vurdere om koden er skidt eller godt. Men scriptet har virket upåklageligt lige ind til for 2 uger siden og mistænker Unoeuro's php-upgrade dette.

Der findes helt sikkert bedre muligheder nu, men vil naturligvis helst undgå at skulle rode med et nyt script og tilpasse det min side, hvis det kan undgås.
Avatar billede olebole Juniormester
11. november 2012 - 17:38 #10
Man kan ikke sige, det skyldes DR's opdatering til digitalt signal, der er skyld i, at dit gamle analoge TV ikke længere duer. Det skyldes, at dit gamle TV er lavet i og til anden tidsalder - med en anden teknologisk virkelighed.

Sådan er det også med dit postscript. Det er gennemgribende forældet, og det er årsagen til, at det ikke længere virker, når din udbyder - ikke spor for tidligt - opdaterer serveren til en tidssvarende PHP-version.

Man kan ikke forvente at have en hjemmeside kørende i fem år uden jævnligt at skulle opdatere sin kode - og somme tider kassere gamle scripts og erstatte dem med nye. Det kan ikke undgås.

Det bedste råd, man kan give dig, er: Find et nyt og bedre script  =)
Avatar billede krummel Juniormester
17. november 2012 - 19:23 #11
Hej Alle,

Tak for hjælpen - altså til at få mig til at forstå at det gamle script var forældet :-)

Jeg har brugt en del tid på at finde og integrere et nyt (gratis) script, som ser ud til at virke godt. Den er fra 2008, så helt ny er den ikke, men umiddelbart det bedste gratis jeg kunne finde. Sml 1.5 hedder det. Der er også en Sml 2.0 beta, men den virker ikke lige ud af boksen og bliver ikke udviklet på mere desværre.

http://www.notonebit.com/projects/mailing-list/

Om dette script også er noget rod ved jeg ikke, men det virker.

Giv svar - dem som rådede mig til at finde noget nyt
Avatar billede vagnk Juniormester
19. november 2012 - 08:42 #12
Her i tråden kom vi jo bare med nogle råd. Det var dig selv der lavede arbejdet, så jeg synes du selv fortjener de point.
Avatar billede krummel Juniormester
03. maj 2014 - 19:56 #13
q
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