Gå til innhold

Martin A.

Medlemmer
  • Innlegg

    2 113
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av Martin A.

  1. Det var en forskjell, men den var jaggu ikke stor.

     

    <?php
    
    $res = array( 	'md5_file' 			=> array( 'avg' => 0 ),
    			'file_get_contents' => array( 'avg' => 0 ) 
    		);
    
    for( $i = 0; $i < 5; $i++ )
    {
    $start = microtime( true );
    md5_file( 'N:\backup\DCIM\100CASIO\CIMG1722.JPG' );
    $end = microtime( true );
    
    $res['md5_file'][ $i ] = $end-$start;
    }
    
    for( $i = 0; $i < 5; $i++ )
    {
    $start = microtime( true );
    md5( file_get_contents( 'N:\backup\DCIM\100CASIO\CIMG1722.JPG' ) );
    
    $end = microtime( true );
    
    $res['file_get_contents'][ $i ] = $end-$start;
    
    }
    echo "md5_file()<br />";
    for( $i = 0; $i < 5; $i++ )
    {
    $res['md5_file']['avg'] += $res['md5_file'][ $i ];
    echo $res['md5_file'][ $i ] . "\n<br />";
    }
    echo "<br />Avg: " . $res['md5_file']['avg'] / 5 . "<br /><br />";
    
    
    echo "file_get_contents() + md5()<br />";
    for( $i = 0; $i < 5; $i++ )
    {
    $res['file_get_contents']['avg'] += $res['file_get_contents'][ $i ];
    echo $res['file_get_contents'][ $i ] . "\n<br />";
    }
    echo "<br />Avg: " . $res['file_get_contents']['avg'] / 5;
    
    ?>

     

    md5_file()
    0.0273880958557
    0.0268731117249
    0.026428937912
    0.0264220237732
    0.0263431072235
    
    Avg: 0.0266910552979
    
    file_get_contents() + md5()
    0.029128074646
    0.0296669006348
    0.0298209190369
    0.0299210548401
    0.029767036438
    
    Avg: 0.0296607971191

     

    Prøvde ikke på ekstern fil.

     

    EDIT: Filen var på 4.47MB.

    EDIT2: Minnebruk er nok viktigere enn tid, ja.

  2. register_globals er på, og det vil si at $username faktisk representerer $_SESSION['username']. En måte å fikse det på, er å bruke en annen variabel for $username = mysql_fetch....., eller skru av register_globals om du har tilgang til serveren PHP konfigurasjon.

     

    Og slik kom jeg fram til det:

    <?php
    session_start();
    
    $_SESSION['id'] = 7;
    $_SESSION['username'] = "test";
    $_SESSION['crew'] = 0;
    $_SESSION['rank'] = 0;
    
    echo "<pre>";
    print_r( $_SESSION );
    
    $username = array( 'username' => 'oleerik' ); // Arrayet her er det samme som mysql_fetch_array() returnerer
    
    print_r( $_SESSION );

    Kommenterer man ut et par linjer, ser man at $_SESSION ble endret permanent.

    <?php
    session_start();
    
    echo "<pre>";
    /*
    $_SESSION['id'] = 7;
    $_SESSION['username'] = "test";
    $_SESSION['crew'] = 0;
    $_SESSION['rank'] = 0;
    
    print_r( $_SESSION );
    
    $username = array( 'username' => 'oleerik' );*/
    
    print_r( $_SESSION );

  3. Bekrefte passord og epost er så enkelt som at du lager to sett med felt for epost og passord.

    Før du faktisk opprettere brukerene sjekker du om de to feltene er like.

    if( $_POST['email'] != $_POST['email2'] )
    {
    die( "E-postadressene stemmer ikke" );
    }
    if( $_POST['password'] != $_POST['password2'] )
    {
    die( "Passordene stemmer ikke" );
    ]

    Jeg ville ikke gjort det så drastisk som å bruke die(), men nå vet jeg ikke hvordan koden sin ser ut, så det blir enkleste løsning for å illustrere det.

  4. Er vel ikke merkelig i det hele tatt. UPDATE syntaksen din er feil.

    UPDATE table SET field="value", field2="value2" WHERE field="something"

    I koden din separerer du update argumentene med 'AND'.

     

    I tillegg kjører du spørringen to ganger.

    mysql_query($sql); // <-- Her
    
    if (!mysql_query($sql,$con)) // <-- Og her

    Jeg ville her gjort:

    $res = mysql_query($sql);
    
    if ( $res === FALSE )
    {
    die( mysql_error() );
    }
    else
    {
    echo "Spørringen utført. Tittel endret til '{$tittel}'";
    }

  5. <?php 
    $page = $_GET['side'];
    ?>
    <div id="nav">
    <ul id="mainnav">
    <li><a href="index.php" title="Welcome page"<?php echo ($page == 'index' OR $page == '' ) ? ' class="active"' : ''; ?>>Welcome</a></li>
    <li><a href="index.php?side=about_us" title="About us page"<?php echo ($page == 'about_us') ? ' class="active"' : ''; ?>>About us</a></li>
    <li><a href="index.php?side=services" title="Services page"<?php echo ($page == 'services') ? ' class="active"' : ''; ?>>Services</a></li>
    <li><a href="index.php?side=testimonials" title="Testimonials page"<?php echo ($page == 'testimonials') ? ' class="active"' : ''; ?>>Testimonials</a></li>
    <li><a href="index.php?side=contact_us" title="Contact us page"<?php echo ($page == 'contact_us') ? ' class="active"' : ''; ?>>Contact us</a></li>
    </ul>
    </div>

  6. <?php
    
    echo <<<EOF
    <style type='text/css'>
    #create_seatmap td
    {
    width: 10px;
    height: 10px;
    border: 1px solid #000;
    }
    .free
    {
    background-color: #FFF;
    
    }
    .reserved
    {
    background-color: red;
    }
    .other
    {
    background-color: cyan;
    }
    .rows
    {
    text-align: center;
    }
    th
    {
    border-bottom: 1px dotted #000;
    }
    </style>
    EOF;
    
    function createSeatmap($x = 10, $y = 10, $seats=array() ) 
    {
    $cell = '<td class="%s">%s</td>';
    $classes = array( 0 => 'free', 1 => 'reserved', 2 => 'other' );
    
    $output = "<table id='create_seatmap' cellspacing='5'>
    			<th>Rows</th>
    			<th colspan='{$x}'>Seats</th>";
    
    for($i = 1; $i <= $y; ++$i) 
    {
    	$output .= "<tr><td class='rows'>{$i}</td>";
    
    	for( $j = 1; $j <= $x; ++$j ) 
    	{
    		$class = ( $seats[ $i ][ $j ] AND $classes[ $seats[ $i ][ $j ] ] ) 	? $classes[ $seats[ $i ][ $j ] ] 
    																			: $classes[0];
    
    		$output .= sprintf ( $cell, $class, $j );
    	}
    
    	$output .= "</tr>";
    }
    
    $output .= "</table>";
    
    return $output;
    }
    
    $seats = array();
    
    /*$sql = "SELECT row, seat, status FROM seats";
    $res = mysql_query( $sql );
    
    if( mysql_num_rows( $res ) > 0 )
    {
    while( $row = mysql_fetch_assoc( $res ) )
    {
    	if( $row['row'] AND $row['seat'] AND $row['status'] )
    	{
    		$seats[ $row['row'] ][ $row['seat'] ] = $row['status'];
    	}
    }
    }*/
    
    // Disse er bare for å teste at det faktisk fungerer.
    $seats[1][2] = 1;
    $seats[1][5] = 2;
    $seats[5][17] = 2;
    $seats[8][5] = 1;
    $seats[4][28] = 2;
    
    echo createSeatmap(30, 10, $seats );
    
    ?>

     

    Noe slikt kanskje?

  7. Er det ikke enklere å gjøre dette med str_replace, da?

     

    <ul id="news">
    <li>
    <img class="cushycms" src="<#IMG_DIR#>/1.jpg" height="39" width="175" />
    <div class="cushycms-text">
    <h3><a href="/drammen/">Drammen</a></h3>
    <p>Intro er i gang i elvenes by!</p>
    </div></li>
    <li>
    <img class="cushycms" src="<#IMG_DIR#>/2.jpg" height="39" width="175" />
    <div class="cushycms-text">
    <h3><a href="/sandnes/uke/">Nye tema på Uke!</a></h3>
    <p>Kroppen, Den Store Forskjellen og Lifedesign for Par.</p>
    </div></li>
    <li>
    <img class="cushycms" src="<#IMG_DIR#>/3.jpg" height="39" width="175" />
    <div class="cushycms-text">
    <h3><a href="/sandnes/team/">Engasjer deg!</a></h3>
    <p>Bli med på team?</p>
    </div></li>
    </ul>

     

    $fil = 'sti/til/fil';
    $fh = fopen($fil , 'r');
    $tekst = fread($fh, filesize($fil));
    $imgDir = '/content';
    
    $tekst = str_replace( '<#IMG_DIR#>', $imgDir, $tekst );
    
    echo $tekst;

  8. Bravo! *klapp-klapp*

    Du gjorde AKKURAT hva jeg sa at trådstarter IKKE kunne gjøre.

    $time = time();
    	if ($time <= $aktiv) {

    INGEN kan være aktiv forut for sin tid.

     

    Herregud? Det funker da HELT fint? Den sjekker om tiden er MINDRE enn anngitt tid som er time() + 300 = 5min.

     

    Hvis tiden er mindre er brukeren pålogget, hvis tiden går over 5min (hvis brukeren er inaktiv i over 5minutter) er brukeren offline f.eks. Så kan du bare bygge videre.

     

    Kan også nevne at jeg bruker nesten likt script (bare litt større) på flere av mine sider og det fungerer utmerket.

    Så ikke at du la til 300 på aktiv tid, beklager det.

     

    Syns fortsatt det blir litt feil. Mye bedre å legge på en offset på $time før man kjører på med sammenligninger, så lar man brukerens aktivtid i databasen stå uberørt.

  9. Og når du kjører spørringen manuelt, så får du opp noe?

    SELECT name, phone FROM phonelist WHERE store='moa'

     

    Forøvrig litt rotete den outputen din.

    <link rel="stylesheet" href="style.css">
    
    <div id="container">
    <h1>TELEFONLISTE</h1>
    <br />
    <br />
    <table>
    <tr><th>Navn</th><th>Telefon</th></tr>
    
    <?php
    
    
    include('includes/connect.php');
    
    $ps = mysql_real_escape_string( $_POST['phone_select'] );
    $query = "SELECT name, phone FROM phonelist WHERE store='$ps'";
    $result = mysql_query($query);
    
    if( mysql_num_rows( $result ) > 0 )
    {
    while($row = mysql_fetch_array($result))
    {
    	echo "<tr>
    			<td>
    				{$row['name']}
    			</td>
    		<td>
    			{$row['phone']}
    		</td>
    	</tr>";
    }
    
    }
    else
    {
    echo "<tr><td colspan='2'>Fant ingen nummer</td></tr>";
    }
    
    ?>

×
×
  • Opprett ny...