Gå til innhold

Martin A.

Medlemmer
  • Innlegg

    2 113
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av Martin A.

  1. http://preetul.wordpress.com/2007/05/07/yo...-of-data-unles/

     

    $_SESSION['gruppe'] = $rad['gruppe'];

    Endre den til

    $gruppeID = $rad['gruppe'];
    $_SESSION['gruppe'] = $gruppeID;

    Er ikke sikkert at det er akkurat der feilen ligger, men jeg kan ikke se noe annet.

     

     

    Så litt annen kritikk.

    • Fnutter rundt variabler er unødvendig ("$db" ....)
    • method="POST" skrives i lowercase. method="post"
    • Bruk echo <<< EOF ... EOF; istede for slik du gjør nå. Ingen store forskjeller, unntatt lesbarheten.
      echo <<<EOF
      Masse
      HTML 
      output her. Med {$variabler} tilogmed.
      EOF;


    • Sette "i" etter variablene er unødvendig.
      $logginn = htmlentities($_POST['logginn']);
      	 $passord = htmlentities($_POST['passord']);
      	 $nick = mysql_real_escape_string($nick);
      	 $logginn = mysql_real_escape_string($logginn);
      	 $passord = mysql_real_escape_string($passord);
      $passordSha1 = sha1($passord);


      Fungerer like bra. Kan tilogmed gjøre alt i en omgang.

      $logginn = mysql_real_escape_string( htmlentities( $_POST['logginn'] ) );
      	 $passord = sha1( mysql_real_escape_string( htmlentities( $_POST['passord'] ) ) );
      	 $nick = mysql_real_escape_string( htmlentities( $nick );


    • if($rad != NULL){


      Bruk mysql_num_rows( $resultat ) istede.

    • if($_POST['huskMeg']==on)


      Mangel på fnutter rundt "on".

  2. Hvorfor lager du en klasse for hver ting du skal gjøre?

     

    class SQL
    {
    private $connectionID;
    private $query;
    
    function __construct( $user, $pass, $host, $database )
    {
    	$this->connectionID = mysqli_connect( $host, $user, $pass, $database ) OR die( mysqli_connect_error() );
    }
    
    public function select( $what, $from, $where )
    {
    	$this->query = mysqli_query( $this->connectionID, "SELECT {$what} FROM {$from} WHERE {$where}" ) or die( mysqli_error( $this->connectionID );
    
    	return $this->query;
    }
    
    public function fetch()
    {
    	if( $this->query )
    	{
    		return mysqli_fetch_array( $this->query )
    	}
    }
    //... etc
    }
    
    $sql = new SQL( 'user', 'pass', 'localhost', 'database' );
    
    $sql->select( 'a,b,c,d', 'users', 'a=b AND c=d' );
    $row = $sql->fetch();
    
    print_r( $row );

    Relativt utestet.

     

    Eller finn deg et rammeverk som allerede gjør dette, om du ikke har planer om å lære deg OOP.

  3. Dette er et problem jeg halvveis har overlevd med i en stund, men nå begynner det å irritere meg.

    Sånn helt ut av det blå kan Firefox finne på å bruke feil bilde når den henter fra cache. Dette kan løses med Ctrl+F5. Jeg skrev "kan" i kursiv siden det kun hjelper i 5-6 av 10 tilfeller. Ofte må jeg slette mellomlageret.

     

    Det jeg har prøvd hittil er reinstallasjon av Firefox og deaktivering av samtlige tillegg, uten at det utgjorde noe. Har også søkt på Bugzilla, for å se om det faktisk er en feil, men iogmed at ingen andre opplever det samme, vil si at det faktisk ikke er et problem med programmet, men noe annet i systemet som påvirker det.

     

    Problemene oppstår heller ikke i andre nettlesere, så det må være noe som kun "angriper" Firefox.

     

    Om noen har noen tips, eller trenger å vite mer detaljer om installerte program, extensions, etc, fyr løs.

  4. Naturlig nok. Du kjører jo spørringen to ganger.

     

    Først her:

    mysql_query("UPDATE kunder SET navn='$_POST[navn]', telefon='$_POST
    
    [telefon]', mail='$_POST[mail]', postnummer='$_POST[postnummer]',
    
    sted='$_POST[sted]', adresse='$_POST[adresse]',
    nettside='$_POST[nettside]', orgnummer='$_POST[orgnummer] WHERE
    
    kunderID='$kunderID' ");

    Så her

    if (!mysql_query($sql,$con))
     {
     die('Error: ' . mysql_error());
     }

     

    $kunderID = intval( $_POST['kunderID'] );
    if ( ! $kunderID )
    {
    die( "Bye bye" );
    }
    $sql = "UPDATE kunder SET navn='{$_POST['navn']}', telefon='{$_POST['telefon']}', mail='{$_POST['mail']}', postnummer='{$_POST['postnummer']}', sted='{$_POST['sted']}', adresse='{$_POST['adresse']}', nettside='{$_POST['nettside']}', orgnummer='{$_POST['ordnummer']}' WHERE kunderID={$kunderID}";
    
    if ( mysql_query($sql,$con) === FALSE)
     {
     die('Error: ' . mysql_error());
     }

    Den gjør nok susen

     

     

    Og etter det, bør du se litt på SQL-injection.

  5. Kan man i det hele tatt kalle en egendefinert ikke-objektorientert funksjon i et OOP-miljø?

     

    EDIT: Ja, det kunne man vist. Men er det en god vane?

     

    				return true;
    			return $this -> id = $q['id'];

    Kun en av disse returneres egentlig ...

    Det er vel bare den første som returneres, da funksjonen stopper så fort en return() oppstår.

  6. Om du ser bort i fra den grusome kildekoden og store unødvendige mengden med CSS-klasser, nei.

     

     

    <?php
    
    $tab = array( 	'hva' 	=> '',
    			'hvem'	=> '',
    			'kurspakker'	=> '',
    			'kontakt'		=> '',
    			'referanser'	=> '',
    			'bilder'		=> '',
    			'bedrift'		=> '',
    			'privat'		=> '',
    		);
    
    switch( $_GET['action'] )
    {
    default:
    case 'hva':			
    	$file = "hva.php";			
    	break;
    
    case 'hvem':
    	$file = "hvem.php";
    	break;
    
    case 'kurspakker':
    	$file = "kurspakker.html";
    	break;
    
    case 'kontakt':
    	$file = "email.php";
    	break;
    
    case 'referanser':
    	$file = "referanser.html";
    	break;
    
    case 'bilder':
    	$file = "bilder.html";
    	break;
    
    case 'bedrift':
    	$file = "bedrift.html";
    	break;
    
    case 'privat':
    	$file = "privat.html";
    	break;
    }
    
    $tab[ $_GET['action'] ] = 'selected';
    
    echo <<<EOF
    <style type="text/css">
    .tab li.selected,
    .tab li a:hover
    {
    background: #004a62;
    color: white;
    text-decoration:none;
    }
    </style>
    
    <div id="navigation">
    <ul class="tab">
    <li class="{$tab['hva']}"><a href="?action=hva">Hva</a></li>
    <li class="{$tab['hvem']}"><a href="?action=hvem">Hvem</a></li>
    <li class="{$tab['kurspakker']}"><a href="?action=kurspakker">Kurspakker</a>
    <ul>
    	<li class="{$tab['bedrift']}"><a href="?action=bedrift">Bedrift</a></li>
    	<li class="{$tab['privat']}"><a href="?action=privat">Privat</a></li>
    </ul>
    </li>
    <li class="{$tab['kontakt']}"><a href="?action=kontakt">Kontakt oss</a></li>
    <li class="{$tab['referanser']}"><a href="?action=referanser">Referanser</a></li>
    <li class="{$tab['bilder']}"><a href="?action=bilder">Bilder</a></li>
    </ul>
    </div>
    
    <div id="content">
    EOF;
    
    include( $file );
    
    
    echo "</div>";

    Utestet.

×
×
  • Opprett ny...