Gå til innhold

CruellaDeVille

Medlemmer
  • Innlegg

    968
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av CruellaDeVille

  1. Google kan ikke hjelpe meg. Jeg har en array av Emner, men ingen måte å få hentet ut emnet som ligger i array-key. Tips for å dytte meg i riktig retning?

    Dette er mitt spede forsøk:

    
    foreach($all as $key=>$value){
    $s = (object)$all[$key];
    
    print "<pre>";
    print_r($s->get('infotermin'));
    print "</pre>";
    

    Her får jeg feilmelding at stdclass har ingen funksjon som heter get (og det har den trolig ikke). Jeg forsøkte å caste til Syllabus, men da hyler compiler.

  2. Jeg sender ut epost til Aasmund med beskjed at han må legge inn litteraturliste for et emne. I eposten er det en lenke til litteraturlisten så hvis han er innlogget kommer han direkte dit.

     

    Imidlertid er sannsynligheten for at 1) Aasmund har aldri vært innlogget i programmet før eller 2) han har vært innlogget, men er det ikke nå.

     

    Siden all redigering skjer bak autentisering må Aasmund logge inn før han kan redigere litteraturlisten og derfor redirigerer litteraturlistesiden til loggin-siden hvis brukeren ikke er logget inn, og pr nå sendes Aasmund videre til admin-siden (med alle valgmuligheter en administrator har) og ikke til litteraturlisten han skal redigere.

     

    Jeg ønsker at login-siden skal vite hvilken url som ble forsøkt nådd. Url har mange parameter, ref ?page=edit_syllabus&coursecode=PRV001&infotermin=2016HØST&id=417&checksum=1465047417

     

    Jeg forsøkte med request_uri, men da fikk jeg bare rota og med query_string fikk jeg bare page=edit_syllabus. Jeg vil også ha med resten. Er det mulig?

  3. Jeg har en funksjon, is_lecturer, som sjekker om forekomsten av fornavn og etternavn finnes i en base. Funksjonen ser slik ut:

     

    public function is_lecturer($firstname, $lastname){
    		$firstname = trim($firstname);
    		$lastname = trim($lastname);
    
    		
    		$table = $this->config['debug']['mode'] ==1 ? 'eks2_user': 'tmp_user';
    		$query = "select email from {$table} where firstname=? and lastname=?";
    		
    		$this->stm = $this->database->connection->prepare($query);
    		$this->stm->bind_param("s", $email);
    		$this->stm->execute();
    		$this->stm->store_result();
    		return $this->stm->num_rows() == 1;	
    	}
    	
    

    I basen har jeg denne tabellen: 

    http://screencast.com/t/NUPKlQYjW

     

    Jeg har alle dataene jeg trenger, men får likevel alltid 0 på om Aasmund Kvamme er lecturer. Hvorfor?

     

    Finnes det noen måte jeg kan se hva som skjer i basen?

     

    Måten å spørre på, bind params, execture, store_result og stm->num_rows() bruker jeg flere andre steder og får de svarene jeg vil ha.

     

    Noen forslag til startsted for debugging?

  4. Jeg har lagt om alle sql-statements til prepared statements og neste skritt er errorhandling. Fra Java i gamledager hadde vi try catch, og det finnes visstnok i php også, og jeg ser at i samhandling med databasen er det massevis av steder ting kan gå galt.

     

    Men - jeg finner ingen gode og forståelige eksempler på hvordan try catch kan brukes i php, så derfor spør jeg om hjelp.

     

    Her er en konkret metode fra min query_class: Kan noen bidra med en try/catch og en forklaring?

    public function getExamById($id){
        $table = $this->config['debug']['mode'] ==1 ? 'eks2_exam': 'tmp_exam';
        $table="tmp_exam";
        $query = "select coursecode, title, filename, filetype, filesize, year, semester, departmentcode from {$table} 
                    where eid=?";
                
        $this->stm = $this->database->connection->prepare($query);
        $this->stm->bind_param("i", $id);
        $this->stm->execute();
        $this->stm->bind_result($coursecode, $title, $filename, $filetype, $filesize, $year, $semester, $department);
        
        $res = array();
        
        while ($row = $this->stm->fetch()){
            #public function __construct($c, $f, $ft, $year){
            $e = new Exam($coursecode, $title, $filename, $filetype);
            $e->set('filesize', $filesize);
            $e->setFilesize();
            $e->set('year', $year);
            $e->set('semester', $semester);
            $e->set('department', $department);
            $e->set('id', $id);
            }
        return $e;			
    }	
    
  5. Jeg har en webshop som består av en shop med produkter. Shop har også en basket. Basket har et chart (array) som består av et product og quantity (en array). Så langt er det vel, men jeg forstår ikke hvordan jeg skal hente data ut fra chart.

     

    Dette er strukturen jeg får ut i sessonvariabelen basket:

    Array #sessionvariabel basket
    
    (
    
    [0] => Array #basket[]
    
    (
    
    [0] => Product Object #objekt
    
    (
    
    [id] => 29
    
    [name] => Powerbank
    
    [description] =>
    
    [price] => 120,00
    
    [image] => powerbank.jpg
    
    [order] =>
    
    [active] =>
    
    )
    
    
    
    [1] => 2 #ikke-objekt
    
    )
    )

    Ett produkt bare, men får inn flere.

     

     

    I en vanlig array kan jeg bruke en foreach i smarty, men her har jeg objekter og da ble det straks litt verre.

  6. Jeg har laget et php-skript som genererer en vbs-fil som igjen dytter inn en epostsignatur i brukerns Outlook. Deler av info kommer fra AD, deler fra brukerinput. Filen fungerer.. hvis jeg henter den direkte fra server.

     

    Men - det kan ikke våre ansatte gjøre, så jeg forsøker å finne alternative løsninger slik at en uten særlig datakompetanse kan gjøre det uten hjelp.

     

    Så her er problemet:

    1) Filen må være kodet med iso-8859-1 for å kunne importeres korrekt til outlook

    2) Filen forsøkes lastet ned til brukerns egen maskin slik at brukern bare kan

    3) dobbeltklikke på filen og restarte outlook

     

    Når filen hentes fra server har en encoding Ansi (som jeg har lest er tilsvarende iso-8859-1) og stillingstitler som "førsteamanuensis" går fint. Men - når jeg i steg 2 leser filen inn igjen og filen lastes ned til brukerens egen maskin er den ikke ansi lenger men utf-8. Og da får jeg kompileringsfeil når jeg forsøker å kjøre skriptet.

     

    Kode for å skrive filen:

      public function write($content){
         	fwrite($this->writer, mb_convert_encoding($content,'ISO-8859-1', 'UTF-8'));
    		fclose($this->writer);
         }
    

    kode for å tvinge nedlasting

    private function forceDownload($file){
    		if (file_exists($file)) {
    			#header("Content-disposition: attachment; filename=".$file);
    			header('Content-Description: File Transfer');
    			header('Content-Type: application/octet-stream');
    			header('Content-Disposition: attachment; filename='.basename($file));
    			header('Expires: 0');
    			header('Cache-Control: must-revalidate');
    			header('Pragma: public');
    			header('Content-Length: ' . filesize($file));
    			readfile($file);
    		}
    	}
    

    men nei, utf-8 it is :(

     

    Anyone?

  7. the story goes on og jeg gjør ting jeg ikke kan; Denne gangen skal jeg lage et signaturskript i outlook og skriptet skal skippes til alle ansatte i hele bedriften min. For min del fungerer det fint, men det er fordi jeg ikke har særnorske tegn, verken i navn eller jobbtittel.

     

    Mitt spørsmål er: Hvordan behandler man særnorske tegn i en vbs-fil? Kort oppsummert det jeg gjør:

     

    Hent data om currentUser fra AD

    Start et virtuelt powershell (ser det ut til, her er jeg på tynn is. Google var min venn her)

    Hente ut data om currentUser fra AD og legg til de som hentes fra skjema (i dette tilfellet arbeidssted, tittel, kontorplassering og SoMe-adresser)

    Start virtuell word og skriv dataene til fil, med filnavn adbrukernavn.vbs

     

    Hvis noen feks har tittelen "førsteamanuensis" (noe de glatt kan ha), vil ø komme ut som rare kråketegn. Jeg fant så ut at ø kan oversettes i vb til char(248). Men - er det virkelig eneste saliggjørende for å skrive særnorske tegn i en vbs-fil?

     

    Jeg bruker php til å generere vbs-filen og ved å måtte erstatte eks ø med char(248) og konkatineringstegn og anførselstegn og fandens oldemor går skriptet mitt helt i surr.

     

    Please advice

  8. Jeg har en xml på formen (dette er et utdrag av xml, den er gyldig selv om det jeg poster under ikke er det alene)

    <EBinnh>
    		<list listType="bulleted">
    			<listItem>Møte med arbeidslivet</listItem>
    			<listItem>Teknologihistorie</listItem>
    			<listItem>Innføring i vitenskapelig tenkemåte og etikk</listItem>
    			<listItem>Presentasjonsteknikk</listItem>
    			<listItem>Innføring i prosjekt som arbeidsform
    				<list listType="bulleted">
    					<listItem>Styring, organisering og ledelse</listItem>
    					<listItem>Valg og prioritering av prosjekter</listItem>
    					<listItem>Interessentanalyse</listItem>
    					<listItem>Planlegging, gjennomføring og oppfølging av prosjekter</listItem>
    					<listItem>Tidsplanlegging i prosjekter</listItem>
    					<listItem>Fallgruver og kritiske suksessfaktorer</listItem>
    				</list>
    			</listItem>
    			<listItem>Dokumentasjon og rapportskriving, også i prosjekt</listItem>
    			<listItem>Sitering, informasjonssøk og kildevurdering</listItem>
    			<listItem>Studieretningsspesifikk prosjektarbeid</listItem>
    			<listItem>Presentasjon på enkle nettsider ved hjelp av HTML og CSS</listItem>
    		</list>
    	</EBinnh>
    

    kort oppsummert, en liste inni en liste. Når jeg skal taversere denne går det skikkelig galt. Jeg har skjønt at jeg må ha en rekursiv funksjon

     

    Så.. jeg forsøker å hente ut "modernoden", EBinnh ved hjelp av xpath. Imidlertid returnerer den noden, men da uten den nøstede listen. Er det noen logisk forklaring på hvorfor?

     

    xmlIterator::iterator er av typen simpexmliterator

    search bruker xpath og henter ut noen $nodenavn (i mitt tilfelle //EBinnh)

     

    Dette er det jeg får ut

    Array
    (
        [0] => SimpleXMLIterator Object
            (
                [list] => SimpleXMLIterator Object
                    (
                        [@attributes] => Array
                            (
                                [listType] => bulleted
                            )
    
                        [listItem] => Array
                            (
                                [0] => Møte med arbeidslivet
                                [1] => Teknologihistorie
                                [2] => Innføring i vitenskapelig tenkemåte og etikk
                                [3] => Presentasjonsteknikk
                                [4] => Innføring i prosjekt som arbeidsform
    	
                                [5] => Dokumentasjon og rapportskriving, også i prosjekt
                                [6] => Sitering, informasjonssøk og kildevurdering
                                [7] => Studieretningsspesifikk prosjektarbeid
                                [8] => Presentasjon på enkle nettsider ved hjelp av HTML og CSS
                            )
    
                    )
    
            )
    
    )
    

    Hva er det jeg ikke forstår?

  9. Jeg har en xml generert av et system, hvor brukerne selv i stor grad står for formatering. Det vil si, de kan da legge inn linjeskift (en tom node) inni en p-node.

     

    Jeg skal forsøke å genere sql av xml'en, men ordet it's learning (som det het i gamledager visstnok) ødelegger, iallfall de 18 gangene det opptrer inni en p, men etter en br/

     

    Min rekursive funksjon fanger ikke den opp. Hvordan kan jeg endre det?

     

    Output: http://hvalross.hib.no/webmaster/studiekatalog/

    xsl: http://hvalross.hib.no/webmaster/studiekatalog/xsl/studie.xsl

     

    Overskriftene i template escapeQuotes er for å se hvilken del av malen er det som kalles.

     

    En p kan bestå av tekst, em, strong og list.

    <xsl:template name="escapeQuotes">
    <xsl:param name="txt"/>
    <!--  Escape with slash  -->
    <xsl:variable name="backSlashQuote">\'</xsl:variable>
    <!--  MsSql escape  -->
    <!--
      <xsl:variable name="backSlashQuote">\'</xsl:variable>
    -->
    <xsl:variable name="singleQuote">'</xsl:variable>
    <xsl:choose>
    <xsl:when test="string-length($txt) = 0">
    <h1>do nothing = 0</h1>
    </xsl:when>
    <xsl:when test="contains($txt, $singleQuote)">
    <h1>inneholder singlequote</h1>
    <xsl:value-of disable-output-escaping="yes" select="concat(substring-before($txt, $singleQuote), $backSlashQuote)"/>
    <xsl:call-template name="escapeQuotes">
    <h1>rekursiv</h1>
    <xsl:with-param name="txt" select="substring-after($txt, $singleQuote)"/>
    </xsl:call-template>
    </xsl:when>
    <xsl:otherwise>
    <h1>otherwise</h1>
    <xsl:value-of disable-output-escaping="yes" select="$txt"/>
    </xsl:otherwise>
    </xsl:choose>
    </xsl:template>
    

    Jeg kaller den for p'en her:

    <xsl:template match="p">
    <xsl:choose>
    <xsl:when test="string(.)">
    <p>
    <xsl:call-template name="escapeQuotes">
    <xsl:with-param name="txt" select="."/>
    </xsl:call-template>
    </p>
    </xsl:when>
    <xsl:otherwise>
    <p>
    <xsl:apply-templates/>
    </p>
    </xsl:otherwise>
    </xsl:choose>
    </xsl:template>
    
  10. Jeg har følgend xslt:

         1	'<xsl:value-of select="emnenavn" />',
             2  '<xsl:value-of select="emneid/emnekode" />',
           3 '<xsl:value-of select="studiepoeng" />',
                <xsl:choose>
                    <xsl:when test="not(./EBinnl)">
                    	NULL
                    </xsl:when>
                    <xsl:otherwise>
                    	4<xsl:apply-templates select="EBinnl" />
                    </xsl:otherwise>
                </xsl:choose>
          
          		<xsl:choose>
                	<xsl:when test="not(./EBmal)">
                    	NULL
                    </xsl:when>
                    <xsl:otherwise>
                    	<xsl:apply-templates select="EBmal" />
                    </xsl:otherwise>
                </xsl:choose>
    
    

    hvor jeg skal sjekke for eksistensen av elementer, 12 i tallet. Jeg kan sjekke det ved hjelp av not(./nodenavn), men det er kode som må gjentas for alle 12 nodene jeg skal sjekke for. Finnes det en vakrere måte å gjøre dette i xsl?

  11. Jeg har aldri debugga vbskript før, men oppdaget at IE har en script-debugger installert. Og nå skriker den

    signature er udefinert

    vbs-filen min starter med sub signature() og slutter med end sub. Hvorfor? Tja, internett sa jeg skulle (som sagt, jeg kan ikke vbskript).

    jeg la også til

    <script type="text/vbscript" src="signatures/sivh.vbs" type="application/x-vbscript"></script>

    men trolig må feilen rettes før jeg kan se om type har effekt.

     

    Please advice. Takk :)

  12. Jeg har et php-skript som genererer en vbs-fil på en apache-server. Jeg ønsker at skriptet i filen skal kjøres når brukeren trykker på en knapp.

     

    Pr nå vises kun filen.

     

    Jeg kan ingenting om vb, så vær grei med meg.

     

    Her er filen jeg vil kjøre: http://hvalross.hib.no/webmaster/signature/signatures/sivb.vbs

     

    Og google fortalte meg at det kunne løses slik (men nei, det fungerte ikke)

    <html>
    <head>
    <script type="text/vbscript" src="./signatures/sivb.vbs"></script>
    </head>
    <body>
    
    <button onclick="vbscript:signature" >Trykk her for å aktivere ny signatur</button>
    </body>
    
  13. takker. Jeg skal bare ha disse 3 sidene, med mindre studentene finner ut at de må ha mer. Dess mer jeg programmerer dess mer kommer tilbake til meg. Jeg kunne Smarty en gang, men det er lenge siden og nå vet jeg ikke hvilken ende jeg skal begynne i.

     

    Interessert i gamle eksamenoppgaver for HiB? http://hvalross.hib.no/eksamensoppgaver/

     

    og skulle noen av dere her klare å dytte inn skummel kode, så heller si fra til meg istedet for å kverke det :)

    Jeg kan kontaktes på [email protected]

  14. Jeg forsøker å få skriptet mitt til å gå til en spesifikk side når det er ferdig kjørt, og bruker da header.

     

    $_SERVER['SERVER_NAME'] skriver ut hvalross.mittdomene.no og jeg har da en header som går til

     

    header('location:'.$_SERVER['SERVER_NAME'].'/eksamensoppgaver/index.php?page=admin');

     

    Noe som i mitt hode skulle gi hvalross.mittdomene.no/eksamensoppgaver/index.php?page=admin

     

    Men det gjør den ikke. Det blir til

     

    http://hvalross.mittdomene.no/eksamensoppgaver/admin/hvalross.mittdomene.no/eksamensoppgaver/index.php?page=admin

     

    Og jeg skjønner virkelig ikke hvorfor

     

    Edit: url blir skjult og siden jeg har tukla med url fungerer den jo ikke. jeg deler den da, men i mitt skript henger den sammen:

     

    Del 1: http://hvalross.mittdomene.no/eksamensoppgaver/admin/

    del 2: hvalross.mittdomene.no/eksamensoppgaver/index.php?page=admin

  15. Jeg er blitt ganske rusten på programmering, så jeg tror dette er enkelt for folk som kan programmeringa si.

     

    jeg har et switch, nemlig denne:

     

    if(isset($_GET['page'])){
    switch($_GET['page']){
    case 'list': require_once('./list.php'); break;
    case 'search': require_once('./search.php'); break;
    default: require_once('index.html'); break;
    }
    }

    På list og search legges html-tags rundt, men på index.html vises kun index.html uten html-skallet

     

    prinsippet for siden er slik:

     

    <<<skriv ut masse kode med heredoc helt til body-tag

     

    switch

     

    <<<skriv ut closing-body og closing html.

     

    Noen som ser det åpenbare?

     

  16. jeg lager et påmeldingsskript, som sender ut bekreftelses- og påmeldingsepost vha mail(). Det går fint å sende, men ved mottak går alle mail i spam i gmailen og jeg får beskjed om at dette trolig er et phishing-forsøk.

     

    Jeg har googlet litt, og delvis konkludert med at det har sammenheng med headers som jeg sender med.

     

    Min ser slik ut:

     

    $headers = 'From: 1.Florvåg speidergruppe <[email protected]>' . "\r\n" .
        'Reply-To: [email protected]' . "\r\n" .
        'X-Mailer: PHP/' . phpversion();
    Denne har jeg brukt før, uten at phishing-advarsel har kommet. Men nå får jeg bare feil.
    Noen som har noen forslag?
    Selve mailsendingen ser slik ut:
    $pamelding = mail($to, $subject, $melding, $headers);
    $bekreftelse = mail($fepost, 'Påmelding mottatt for '.$navn, $bmelding, $headers);

     

  17. Jeg lager et påmeldingsskjema hvor feilmeldinger er forsøkt lagret i $_SESSION, og etter hva jeg husker fra tidligere må session_start() være øverst på alle sider hvor jeg skal sette eller bruke session-variabler. Så langt så godt.

     

    Men - jeg får warnings på denne siden:

    post-93786-0-83802300-1392710031_thumb.jpg

     

    Jeg har sjekket og dobbeltsjekket at det ikke er spaces etter <?php eller før session_start(); men likevel - warnings.

     

    noen flinkiser som vet?

  18. Google kan ikke hjelpe meg, for jeg vet ikke hva jeg skal google på.

     

    jeg vet at jeg kan bygge opp en streng på denne måten

     

    <<<HTML (eller tre-fire andre bokstaver og jeg husker ikke hvilke)

    min tekst med html-formatering

    og her kunne jeg også bruke variabler direkte

    >>>

     

    Problemet mitt er at jeg åpenbart har feil oppbygging av feltet, for ingen av dataene mine vises og parser klager ikke.

     

    Så... hva heter funksjonaliteten jeg forsøker å bruke?

  19. Jaggu har jeg ikke noen databasebøker til overs også, og tenker at de gjør seg bedre hos en aktiv utvikler enn i bokhylla hos meg. Hvis de må sendes betaler du porto selv, men bor du mellom Bergen og Elverum langs E16 kan jeg dumpe de av hos deg før jul

     

    Bøkene jeg har er:

     

    Professional Oracle programming (http://www.amazon.com/Professional-Oracle-Programming-Programmer/dp/0764574825)

    Oracle 9i for windows handbook (http://www.amazon.com/Oracle9i-Windows-Handbook-Anand-Adkoli/dp/0072190922)

     

    Jeg er ikke særlig aktiv på diskusjon.no lenger, så send heller en epost på [email protected] og skriv hvilke bøker du vil ha (jeg har flere tråder, php, asp/asp.net, java, html/css, databaser)

×
×
  • Opprett ny...