Gå til innhold

kakkle

Medlemmer
  • Innlegg

    731
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av kakkle

  1. Ta en liten utskrifts test etter hver if/else, for å se hvor lang den kommer / hvor det er feil i if setningen...

     

    f.eks. Print "If blokk 1"; // Helt først i if blokk 1

     

    Og samme for alle else blokkene...

     

    EDIT: Du bør også ha en "or die("query error: $sql<br>".mysql_error());"

     

    Etter hver Query funksjon. $sql er variabelen som inneholder spørringen ("SELECT ...")

  2. Var nok ikke det han mente... Ettersom jeg forstod, så ville han opprette en mailkonto med den mailadressen som ble skrevet inn og passordet blir passordet for å lese mailen.

     

    Om scriptet ditt: Trenger ikke laste opp en fil som heter mail.txt, da fopen vil lage filen dersom den ikke eksisterer.

     

    EDIT: Så fremt at mappen som filen skal lages i kan skrives til.

  3. Evt, så kan du bruke eval og slippe alle if'ene ;)

    <?
    $regnestykke = "2*3" // "2*3" kan f.eks komme fra formen;
    eval("\$resultat = ".$regnestykke.";");
    echo $regnestykke." = ".$resultat;
    ?>
    

    Da kan $regnestykke være +,-,*,/ eller hva som helst, og du vil få resultatet av regnestykket :)

     

    EDIT: Du bør sjekke at det som kommer fra formen faktisk er et regnestykke, og ikke noe annet, da det kan være litt skummelt, føler jeg på meg. Dette gjør du ved å sjekke at det inneholder kun tall og de operatorene som skal være lov.

  4. Legg hele spørringen inn i en variabel, og send variabelen inn i mysql_query funksjonen. Dersom den feiler, skriver du ut variabelen som inneholder spørringen og mysql_error(). På denne måten ser du lett hva i spørringen som feiler. Det er nok nesten garantert at en eller annen variabel hentet fra post eller get, er feil.

    $sql = "UPDATE...WHERE ...";
    $result = mysql_query($sql);
    if(!$result) print "feil i spørring: $sql<br>".mysql_error();
    

  5. Hmmm... Er litt usikker hva du vil, men du vil fram til hvilken url som blir laget av hver av de casene.

    Ta f-eks p3:

    Først urlStart:"mms://straumr.nrk.no/"

    Så legges urlEnd til: "petre"+kvalitet. Si at kvalitet er "m"(For medium, kanskje?). Full url blir da:

    mms://straumr.nrk.no/petrem

    Lim dette inn i f.eks. adresselinjen i din favoritt nettleser, og test. Funket bra i firefox...

     

    Kvalitet er forresten enten l, m eller h. For hhv low, medium og high, tenker jeg... Funker ikke med 16, 40 og 160

  6. Kan f.eks gjøre slik:

    function img_size(prosent)
    {
    var bilder=document.images
    var width = prosent/100;
    bilder[0].width=bilder[0].width*width
    }
    </script>
    
    <span onclick='img_size(100)'>Tilpass bilde til skerm</span>
    

    Har ikke testet det, men det bør vel fungere, så fremst bilder[0].width returnerer bredden på bildet. Kanskje ?

     

    EDIT: Måtte rette litt på variabel feil

    /Kakkle

  7. Okei... Først forskjellen på de to:

    Den første lever kun et argument inn i funksjonen, og i tillegg, er dette en tekst streng(altså feil ift php.net, som sier int), mens den andre leverer to argumenter inn i funksjonen, som er heltall (int), altså det som står i definisjoen av funksjonen på php.net. Komma tegnet brukes for å skille argumenter inn til en funksjon.

     

    HAr du f.eks prøvd å bruke strtotime(), eller noe lignende?

     

    EDIT: Hadde du f.eks satt variablene slik: $inn_time=13; $inn_min=05; $ut_time=15; $ut_min=39;

    for så å satt disse inn i funksjonen:

    $totaltid = (mktime($inn_time, $inn_min)-mktime($ut_time, $ut_min))/60
    

    Så tror jeg det hadde funket litt bedre. Håper du skjønner forskjellen

  8. Sånn ca sånn:

    <?php
    
    if($_POST['navn'] == "" || $_POST['hilsen'] == "")
    {
    echo "Ditt innlegg ble ikke lagt til, du må skrive inn navn og hilsen!";
    } else {
    
    $filename = 'innlegg.inc';
    
    $innlegg = "<b>Navn:</b> $navn<br>\n"; "</a><br> <b>Dato:</b>";
    $innlegg .= "<b>Hjemmeside:</b> <a href=\"$url\">$url</a><br>\n";
    $innlegg .= "<b>E-post:</b> <a href=\"mailto:$epost\">$epost</a><br>\n";
    $innlegg .= "<b>Hilsen:</b><br>\n";
    $innlegg .= nl2br($hilsen);
    $innlegg .= "<br>\n<hr>\n";
    
    if(file_exists($filename)) {
    $linjer = file($filename);
    $helefilen = implode("", $linjer);
    $nyfil = $innlegg.$helefilen;
    }
    else { // filen finnes ikke fra før, dette er derfor første innlegget
    $nyfil = $innlegg;
    }
    $fp = fopen($filename,'w');
      fwrite($fp,$nyfil);
    fclose($fp);
    
    }
    ?>
    
    <?php include("innlegg.inc"); ?>
    

    Tror den skal fungere helt greit

    EDIT: ARRGGHHH. General tabbe. HAr nå byttet "a" til "w" på fopen.

  9. Det som kan være feil med den includen, er : feil navn på fil(tvguidephp.php skal være tv.php), feil navn på katalog(tv_gude skal være tv_guide)

     

    Denne skal da fungere:

    include "images/tv_guide/tv-guide/tv.php";
    

    Såfremt at siden du skal inkludere i ligger i rot katalogen (public_html)

  10. Hmmm...

    $dato har jo ingen verdi, da. Du setter ikke $dato[$i][0] og $dato[$i][1] til noe. Derfor blir name på hvert inputfelt "". Dette ser du også i kildekoden på siden.

     

    Du kan f.eks heller bruke det slik:

    $v1 = "felt1_".$i;
    $v2 = "felt2_".$i;
    

    eller enda bedre - som ZoRaC sier.

     

     

    Vil også minne om register_globals

     

    /Kakkle

     

    EDIT: Selv om jeg ser at du jo har register globals på. Se link for hvorfor du ikke bør ha dette.

  11. if(!file_exists($filename)) {

      $fp = fopen($filename,'w');

      fclose($fp);

    } // End if

    Trenger ikke denne if setningen, da fopen(filnavn, "a") oppretter filen dersom den ikke eksisterer. Trenger derfor heller ikkeå laste opp en tom fil som heter linker.inc og chmode den til 0777.

    scriptet blir da slik:

    <?
    $filename = 'linker.inc';
    $innlegg = "<a href=\"$link\"><u>$link</u></a>";
    $fp = fopen($filename,'a');
      fwrite($fp,$innlegg);
    fclose($fp);
    ?>
    <b><p>Din link ble lagt til helt uten problemer!</p></b>
    

    EDIT: Blir vel kanskje litt feil å skrive at linken ble lagt til "helt uten problemer" uten å sjekke at det faktisk gikk uten problemer.

  12. imagepng og imagegif har ingen "quality" atributt. imagejpeg, imagepng og imagegif har denne syntaxen iflg php.net:

     

    EDIT: Dvs at du kan sette inn filnavn istedetfor null i koden din. F.eks "thumb_".$filename

  13. bruk mysql_error(), for å få en feilmelding fra mysql på følgende steder:

    $connection = @mysql_connect($hostname, $user, $password) or die("Umulig å få kontakt med database<br>Mysql sa: ".mysql_error());
    @mysql_select_db($db) or die("FEIL: ".mysql_error());
    //Sender setningen mot database som skal hente ut infoen
    $setning = @mysql_query("SELECT * FROM gjestebok ORDER BY gjestid DESC") or die("Feil: ".mysql_error());
    

    Alltid greit med feilmeldinger.

     

    EDIT: Ting som kan være feil: Feil host, Feil brukernavn, feil passord, feil database, feil tabellnavn, feile feltnavn, osv. Dette vil du mest sannsynlig få svar på fra mysql_error()

  14. Prøv å fjerne ~/.mozilla katalogen i hjemmeområdet ditt. Eller flytt den til en annen plass, er kanskje bedre.

     

    EDIT: Denne katalogen blir ikke fjernet når du avinstallerer programmet. Den inneholder alle instillinger, og også skins og extensions, så den vær tingen ligger nok definert der.

  15. Hvordan har du navngitt filene ? Tilfeldig ? Etter brukernavn ?

    Regner med at du ikke har navngitt dem etter brukernavn.

     

    Hva har du prøvd ? Hvor står det fast ?

     

    En liten oppskrift

    Loop gjennom katalogen med filer.

    Sjekk hver fil vha file(), explode(), om du finner rett brukernavn. (Vha av å sjekke om explode(" = ", file("filnavn")[linjepeker])[0] er $brukernavn)

    Gjør det det, sjekk i samme filen om passordet stemmer.

     

    Bør vel kanskje bytte ut $ tegnet i med noe annet, før du sammenligner.

     

    Se på linkene som nazgul postet i første svar

  16. Det er veldig mye greiere når hver bruker har hver sin fil, da... Er filene navngitt etter brukernavn, eller ?

    Her er vel hva zokra mener, kanskje:

    bruker1.php:

    id//3;
    brukernavn//bruker1
    passord//md5greie
    realname//Bruker brukersen
    // osv...
    

    Evt så kan denne brukes på flere brukere:

    id//brukernavn//passord//fullnavn//email
    1//bruker1//md5pass//Bruker Brukersen//[email protected]
    2//bruker2//md5pass//user userson//[email protected]
    osv...
    

    Da trenger man bare en fil for alle brukere. Synes det er mye greiere, og mye bedre og jobbe med.

     

    En funksjon, som går ut fra første flatfil eksempel:

    function getUserData($user) {
    $readfile = file("$user.php");
    $lines = count($readfile);
    $line = 0;
    while($line < $lines) {
    $data = explode ("//", $readfile($line)); 
    if($data[0] == "brukernavn") $brukernavn = $data[1];
    if($data[0] == "passord") $passord = $data[1];
    if($data[0] == "realname") $realname = $data[1];
    $lines++;
    } // End while
    $retarray = array(brukernavn => "$brukenavn", passord=>"$passord", realname=>"$realname");
    return $retarray;
    }// End function
    

    Er slett ikke testet. Kan bruke hva som helst som seperator. F,eks "|@-+!|"

×
×
  • Opprett ny...