Gå til innhold

PHP·pub - Programming With Attitude - and beer


Anbefalte innlegg

Har du problemer med å lese det første innlegget? Det står faktisk at vi ikke bedriver support i denne tråden der ...

 

NB! Dette er ikke ment som en support-tråd, hvis du trenger hjelp til noe oppretter du en egen tråd i PHP-forumet.

 

Btw: Skal smelle opp koden snart. Dev.-serveren bestemte seg vist for å være en ordentlig kranglefant idag :(

Endret av Ernie
Lenke til kommentar
Videoannonse
Annonse
Hvilken versjon av PHP bruker folk?

lokalt kjører jeg Apache2, PHP5 (og PHP4), MySQL 4.1 og FileZilla. Har mercury installert, men den kjører ikke. Jeg har forrestem problemer med at ZDE ikke får med seg at jeg faktisk har en database, og debugserveren funker ikke.

5801581[/snapback]

Bruker Apache 2.2.0, PHP 5.1.1 og MySQL 5.0.18 med phpMyAdmin 2.7.0 (Xampp 1.5.1) lokalt, webhotellet bruker php 5.1.1 og Mysql 4.1 tror jeg. Bruker stort sett ikke det lokale oppsettet da, tester mest på webhotell-serveren.

Endret av anners
Lenke til kommentar

Sånn nå skal det bli litt kode her:

Først litt data å jobbe med:

 

 

CREATE TABLE `category` (
 `id` smallint(4) unsigned NOT NULL auto_increment,
 `parent` smallint(4) unsigned NOT NULL default '0',
 `name` varchar(255) collate utf8_unicode_ci NOT NULL default '',
 `description` text collate utf8_unicode_ci NOT NULL,
 `status` enum('p','i','b') character set latin1 NOT NULL default 'b',
 PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=95 ;

INSERT INTO `category` VALUES (7, 6, 'mhm', '', 'i');
INSERT INTO `category` VALUES (6, 0, 'test?', '', 'b');
INSERT INTO `category` VALUES (5, 0, 'Public cat', '', 'p');
INSERT INTO `category` VALUES (4, 2, 'A cat', '', 'i');
INSERT INTO `category` VALUES (8, 6, 'nope', '', 'p');
INSERT INTO `category` VALUES (9, 6, 'kanskje', '', 'b');
INSERT INTO `category` VALUES (1, 0, 'Main', '', 'i');
INSERT INTO `category` VALUES (2, 1, 'Sub', '', 'i');
INSERT INTO `category` VALUES (3, 1, 'More sub', '', 'i');
INSERT INTO `category` VALUES (11, 5, 'public dog', '', 'p');
INSERT INTO `category` VALUES (13, 6, 'Hmmmm', '', 'i');
INSERT INTO `category` VALUES (14, 0, 'Tester14', '', 'b');
INSERT INTO `category` VALUES (15, 14, 'Tester15', '', 'b');
INSERT INTO `category` VALUES (16, 15, 'Tester16', '', 'b');
INSERT INTO `category` VALUES (17, 16, 'Tester17', '', 'b');
INSERT INTO `category` VALUES (18, 17, 'Tester18', '', 'b');
INSERT INTO `category` VALUES (19, 18, 'Tester19', '', 'b');
INSERT INTO `category` VALUES (20, 19, 'Tester20', '', 'b');
INSERT INTO `category` VALUES (21, 20, 'Tester21', '', 'b');
INSERT INTO `category` VALUES (22, 21, 'Tester22', '', 'b');
INSERT INTO `category` VALUES (23, 22, 'Tester23', '', 'b');
INSERT INTO `category` VALUES (24, 23, 'Tester24', '', 'b');
INSERT INTO `category` VALUES (25, 24, 'Tester25', '', 'b');
INSERT INTO `category` VALUES (26, 25, 'Tester26', '', 'b');
INSERT INTO `category` VALUES (27, 26, 'Tester27', '', 'b');
INSERT INTO `category` VALUES (28, 27, 'Tester28', '', 'b');
INSERT INTO `category` VALUES (29, 28, 'Tester29', '', 'b');
INSERT INTO `category` VALUES (30, 29, 'Tester30', '', 'b');
INSERT INTO `category` VALUES (31, 30, 'Tester31', '', 'b');
INSERT INTO `category` VALUES (32, 31, 'Tester32', '', 'b');
INSERT INTO `category` VALUES (33, 32, 'Tester33', '', 'b');
INSERT INTO `category` VALUES (34, 33, 'Tester34', '', 'b');
INSERT INTO `category` VALUES (35, 34, 'Tester35', '', 'b');
INSERT INTO `category` VALUES (36, 35, 'Tester36', '', 'b');
INSERT INTO `category` VALUES (37, 36, 'Tester37', '', 'b');
INSERT INTO `category` VALUES (38, 37, 'Tester38', '', 'b');
INSERT INTO `category` VALUES (39, 38, 'Tester39', '', 'b');
INSERT INTO `category` VALUES (40, 39, 'Tester40', '', 'b');
INSERT INTO `category` VALUES (41, 40, 'Tester41', '', 'b');
INSERT INTO `category` VALUES (42, 41, 'Tester42', '', 'b');
INSERT INTO `category` VALUES (43, 42, 'Tester43', '', 'b');
INSERT INTO `category` VALUES (44, 43, 'Tester44', '', 'b');
INSERT INTO `category` VALUES (45, 44, 'Tester45', '', 'b');
INSERT INTO `category` VALUES (46, 45, 'Tester46', '', 'b');
INSERT INTO `category` VALUES (47, 46, 'Tester47', '', 'b');
INSERT INTO `category` VALUES (48, 47, 'Tester48', '', 'b');
INSERT INTO `category` VALUES (49, 48, 'Tester49', '', 'b');
INSERT INTO `category` VALUES (50, 49, 'Tester50', '', 'b');
INSERT INTO `category` VALUES (51, 50, 'Tester51', '', 'b');
INSERT INTO `category` VALUES (52, 51, 'Tester52', '', 'b');
INSERT INTO `category` VALUES (53, 52, 'Tester53', '', 'b');
INSERT INTO `category` VALUES (54, 53, 'Tester54', '', 'b');
INSERT INTO `category` VALUES (55, 54, 'Tester55', '', 'b');
INSERT INTO `category` VALUES (56, 55, 'Tester56', '', 'b');
INSERT INTO `category` VALUES (57, 56, 'Tester57', '', 'b');
INSERT INTO `category` VALUES (58, 57, 'Tester58', '', 'b');
INSERT INTO `category` VALUES (59, 58, 'Tester59', '', 'b');
INSERT INTO `category` VALUES (60, 59, 'Tester60', '', 'b');
INSERT INTO `category` VALUES (61, 60, 'Tester61', '', 'b');
INSERT INTO `category` VALUES (62, 61, 'Tester62', '', 'b');
INSERT INTO `category` VALUES (63, 62, 'Tester63', '', 'b');
INSERT INTO `category` VALUES (64, 63, 'Tester64', '', 'b');
INSERT INTO `category` VALUES (92, 91, 'Testing92', '', 'b');
INSERT INTO `category` VALUES (91, 0, 'Testing91', '', 'b');
INSERT INTO `category` VALUES (90, 89, 'Testing90', '', 'b');
INSERT INTO `category` VALUES (89, 0, 'Testing89', '', 'b');
INSERT INTO `category` VALUES (88, 87, 'Testing88', '', 'b');
INSERT INTO `category` VALUES (87, 0, 'Testing87', '', 'b');
INSERT INTO `category` VALUES (86, 85, 'Testing86', '', 'b');
INSERT INTO `category` VALUES (85, 0, 'Testing85', '', 'b');
INSERT INTO `category` VALUES (84, 83, 'Testing84', '', 'b');
INSERT INTO `category` VALUES (83, 0, 'Testing83', '', 'b');
INSERT INTO `category` VALUES (82, 81, 'Testing82', '', 'b');
INSERT INTO `category` VALUES (81, 0, 'Testing81', '', 'b');
INSERT INTO `category` VALUES (80, 79, 'Testing80', '', 'b');
INSERT INTO `category` VALUES (79, 0, 'Testing79', '', 'b');
INSERT INTO `category` VALUES (78, 77, 'Testing78', '', 'b');
INSERT INTO `category` VALUES (77, 0, 'Testing77', '', 'b');
INSERT INTO `category` VALUES (76, 75, 'Testing76', '', 'b');
INSERT INTO `category` VALUES (75, 0, 'Testing75', '', 'b');
INSERT INTO `category` VALUES (74, 73, 'Testing74', '', 'b');
INSERT INTO `category` VALUES (73, 0, 'Testing73', '', 'b');
INSERT INTO `category` VALUES (72, 71, 'Testing72', '', 'b');
INSERT INTO `category` VALUES (71, 0, 'Testing71', '', 'b');
INSERT INTO `category` VALUES (70, 69, 'Testing70', '', 'b');
INSERT INTO `category` VALUES (69, 0, 'Testing69', '', 'b');
INSERT INTO `category` VALUES (68, 67, 'Testing68', '', 'b');
INSERT INTO `category` VALUES (67, 0, 'Testing67', '', 'b');
INSERT INTO `category` VALUES (66, 65, 'Testing66', '', 'b');
INSERT INTO `category` VALUES (65, 0, 'Testing65', '', 'b');
INSERT INTO `category` VALUES (93, 0, 'Testing93', '', 'b');
INSERT INTO `category` VALUES (94, 93, 'Testing94', '', 'b');

 

 

While/ikke-rekursiv funksjon:

 

function sort_categories($table, $type='a')
{
global $cat;

if ($type == 'a')
 $type = '';
else 
 $type = 'WHERE status=\''.$type.'\'';

$result = mysql_query("SELECT * FROM $table $type ORDER BY name ASC");

while ($row = mysql_fetch_array($result))    //Looping and getting out data from database
{
 $parent = $row['parent'];
 
 if (isset($cache[$parent]['num']))  	//Getting the number of categories with the same parent
 	$num = $cache[$parent]['num'];
 else 
 	$num = $cache[$parent]['num'] = 0;
   
 $cache[$parent]['num'] += 1;    //Incrementing the number of categories under that parent
 $cache[$parent][$num] = $row;    //Putting data inn cache
}

$path_parent = $path_cat = array();    //Creating arrays for tracking the "path"
$num_parent = 0;        //Current number of parents in path_parent
$num_cat = 0;        	//Current number of categories in path_cat
$current_parent = 0;      	//Current parent
$current_cat = 0;        //Current category
$ok = true;
$i = 0;
$depth = 0;          //Keeps track of level/depth

while ($ok)
{
 $cat[$i] = $cache[$current_parent][$current_cat]; //Copying category from cache
 $id = $cat[$i]['id'];      //Getting the id of that category
 $cat[$i]['depth'] = $depth;    	//Sets the depth for that category
 $i += 1;
 
 if (isset($cache[$id]['num']))    //If this is true, there is a level below
 {
 	$path_parent[$num_parent] = $current_parent; //Storing current parent
 	$num_parent += 1;      //Incrementing the numbers of parents
 	$path_cat[$num_cat] = $current_cat;  //Storing current category
 	$num_cat += 1;      	//Incrementing the numbers of categories
 	$current_parent = $id;    	//Sets parent to current cat.-id
 	$current_cat = 0;      //Sets current category on level to 0
 	$depth += 1;      	//Incrementing depth
 }
 else
 {
 	while (true)
 	{
   if (($current_cat + 1) != $cache[$current_parent]['num']) //If this is true, there is one or
   {        	// more categories left on this level
   	$current_cat += 1;
   	break;      	//Breaking out of loop
   }
   elseif ($current_parent == 0)  //If this is true, then there is nothing more to do
   {
   	$ok = false;    	//Breaking out of both loops
   	break;
   }
   else        	//If we have come so far, there are nothing to do on this level or below
   {        	//  we therefore have to go one level up
   	$last_parent = $num_parent-1;	//Getting the parent on the level above
   	$num_parent -= 1;    //Decrementing number of parents
   	$last_cat = $num_cat-1;  	//Getting the last category on the level above
   	$num_cat -= 1;    	//Decrementing number of categories
   	$current_parent = $path_parent[$last_parent]; //Updating the current parent
   	$current_cat = $path_cat[$last_cat]; //Updating the current category
   	unset($path_parent[$last_parent]); //Removing parent from path
   	unset($path_cat[$last_cat]);	//Removing category from path
   	$depth -= 1;    	//Decrementing depth
   }
 	}
 }
}
}

 

 

Rekursiv-funksjon:

 

function cache_category($table, $type='a')
{
global $cat_cache, $i;
if ($type == 'a')
 $type = '';
else 
 $type = 'WHERE status=\''.$type.'\'';
$result = mysql_query("SELECT * FROM `$table` $type ORDER BY name ASC");
while ($row = mysql_fetch_array($result))    //Looping and getting out data from database
{
 $cat_cache[$row['parent']][$row['id']] = $row; //Putting data inn cache
}
$i = 0;
sort_categories();        //Sorting categories
unset($cat_cache);        //Delete cache
}

function sort_categories($parent=0, $depth=0)
{
global $cat_cache, $cat, $i;
if (@is_array($cat_cache[$parent]))
{
 foreach ($cat_cache[$parent] as $category)	//Looping through categories with the parent $parent
 {
 	$cat[$i] = $category;    	//Copying category into $cat
 	$cat[$i]['depth'] = $depth;    //Sets the depth
 	$i += 1;
 	sort_categories($category['id'], $depth+1); //Sorts categories with this categories id as parent and incremented depth
 }
}
}

 

 

Målet med galskapen er at det skal bli til følgende:

 

<select><option value="1">| - Main (private)</option>
<option value="3">| --- More sub (private)</option>
<option value="2">| --- Sub (private)</option>
<option value="4">| ----- A cat (private)</option>
<option value="5">| - Public cat (public)</option>
<option value="11">| --- public dog (public)</option>
<option value="6">| - test? (both)</option>
<option value="13">| --- Hmmmm (private)</option>
<option value="9">| --- kanskje (both)</option>
<option value="7">| --- mhm (private)</option>
<option value="8">| --- nope (public)</option>
<option value="14">| - Tester14 (both)</option>
<option value="15">| --- Tester15 (both)</option>
<option value="16">| ----- Tester16 (both)</option>
<option value="17">| ------- Tester17 (both)</option>
<option value="18">| --------- Tester18 (both)</option>
<option value="19">| ----------- Tester19 (both)</option>
<option value="20">| ------------- Tester20 (both)</option>
<option value="21">| --------------- Tester21 (both)</option>
<option value="22">| ----------------- Tester22 (both)</option>
<option value="23">| ------------------- Tester23 (both)</option>
<option value="24">| --------------------- Tester24 (both)</option>
<option value="25">| ----------------------- Tester25 (both)</option>
<option value="26">| ------------------------- Tester26 (both)</option>
<option value="27">| --------------------------- Tester27 (both)</option>
<option value="28">| ----------------------------- Tester28 (both)</option>
<option value="29">| ------------------------------- Tester29 (both)</option>
<option value="30">| --------------------------------- Tester30 (both)</option>
<option value="31">| ----------------------------------- Tester31 (both)</option>
<option value="32">| ------------------------------------- Tester32 (both)</option>
<option value="33">| --------------------------------------- Tester33 (both)</option>
<option value="34">| ----------------------------------------- Tester34 (both)</option>
<option value="35">| ------------------------------------------- Tester35 (both)</option>
<option value="36">| --------------------------------------------- Tester36 (both)</option>
<option value="37">| ----------------------------------------------- Tester37 (both)</option>
<option value="38">| ------------------------------------------------- Tester38 (both)</option>
<option value="39">| --------------------------------------------------- Tester39 (both)</option>
<option value="40">| ----------------------------------------------------- Tester40 (both)</option>
<option value="41">| ------------------------------------------------------- Tester41 (both)</option>
<option value="42">| --------------------------------------------------------- Tester42 (both)</option>
<option value="43">| ----------------------------------------------------------- Tester43 (both)</option>
<option value="44">| ------------------------------------------------------------- Tester44 (both)</option>
<option value="45">| --------------------------------------------------------------- Tester45 (both)</option>
<option value="46">| ----------------------------------------------------------------- Tester46 (both)</option>
<option value="47">| ------------------------------------------------------------------- Tester47 (both)</option>
<option value="48">| --------------------------------------------------------------------- Tester48 (both)</option>
<option value="49">| ----------------------------------------------------------------------- Tester49 (both)</option>
<option value="50">| ------------------------------------------------------------------------- Tester50 (both)</option>
<option value="51">| --------------------------------------------------------------------------- Tester51 (both)</option>
<option value="52">| ----------------------------------------------------------------------------- Tester52 (both)</option>
<option value="53">| ------------------------------------------------------------------------------- Tester53 (both)</option>
<option value="54">| --------------------------------------------------------------------------------- Tester54 (both)</option>
<option value="55">| ----------------------------------------------------------------------------------- Tester55 (both)</option>
<option value="56">| ------------------------------------------------------------------------------------- Tester56 (both)</option>
<option value="57">| --------------------------------------------------------------------------------------- Tester57 (both)</option>
<option value="58">| ----------------------------------------------------------------------------------------- Tester58 (both)</option>
<option value="59">| ------------------------------------------------------------------------------------------- Tester59 (both)</option>
<option value="60">| --------------------------------------------------------------------------------------------- Tester60 (both)</option>
<option value="61">| ----------------------------------------------------------------------------------------------- Tester61 (both)</option>
<option value="62">| ------------------------------------------------------------------------------------------------- Tester62 (both)</option>
<option value="63">| --------------------------------------------------------------------------------------------------- Tester63 (both)</option>
<option value="64">| ----------------------------------------------------------------------------------------------------- Tester64 (both)</option>
<option value="65">| - Testing65 (both)</option>
<option value="66">| --- Testing66 (both)</option>
<option value="67">| - Testing67 (both)</option>
<option value="68">| --- Testing68 (both)</option>
<option value="69">| - Testing69 (both)</option>
<option value="70">| --- Testing70 (both)</option>
<option value="71">| - Testing71 (both)</option>
<option value="72">| --- Testing72 (both)</option>
<option value="73">| - Testing73 (both)</option>
<option value="74">| --- Testing74 (both)</option>
<option value="75">| - Testing75 (both)</option>
<option value="76">| --- Testing76 (both)</option>
<option value="77">| - Testing77 (both)</option>
<option value="78">| --- Testing78 (both)</option>
<option value="79">| - Testing79 (both)</option>
<option value="80">| --- Testing80 (both)</option>
<option value="81">| - Testing81 (both)</option>
<option value="82">| --- Testing82 (both)</option>
<option value="83">| - Testing83 (both)</option>
<option value="84">| --- Testing84 (both)</option>
<option value="85">| - Testing85 (both)</option>
<option value="86">| --- Testing86 (both)</option>
<option value="87">| - Testing87 (both)</option>
<option value="88">| --- Testing88 (both)</option>
<option value="89">| - Testing89 (both)</option>
<option value="90">| --- Testing90 (both)</option>
<option value="91">| - Testing91 (both)</option>
<option value="92">| --- Testing92 (both)</option>
<option value="93">| - Testing93 (both)</option>
<option value="94">| --- Testing94 (both)</option>
</select>

 

 

og det skjer v.hj.a følgende funksjon for de som er skrekkelig interessert:

 

function dropdown_categories($type='a', $selected = '0')
{
global $cat;

sort_category('category', $type);  //Gets categories for database and sorts it

$count = count($cat);      	//Counting the number of categories

for ($i = 0; $i < $count; $i++)    	//Looping through them and printing them out
{
 $category = $cat[$i];
 echo '<option value="'.$category['id'].'"';
 if ($selected == $category['id'])
 {
 	echo ' selected="selected"';
 }
 echo '>| -';
 for ($j = 0; $j < $category['depth']; $j++)
 	echo '--';
 echo ' '.$category['name'].' (';
 
 switch ($category['status'])
 {
 	case 'p': echo 'public';  break;
 	case 'i': echo 'private';  break;
 	case 'b': echo 'both';  	break;
 }
 
 echo ')</option>'."\n";
}
}

 

 

Puh, sånn :) Ble langt det her :p

 

Tillegg:

Hvilken versjon av PHP bruker folk?

lokalt kjører jeg Apache2, PHP5 (og PHP4), MySQL 4.1 og FileZilla. Har mercury installert, men den kjører ikke. Jeg har forrestem problemer med at ZDE ikke får med seg at jeg faktisk har en database, og debugserveren funker ikke.

5801581[/snapback]

Selv kjører jeg nå PHP 5.1.2, Apache 2.2.0 og Mysql 5.0.18. Kort og greit det nyeste som eksisterer.

 

Tillegg#2:

hmm.. kan bli litt revet med i programmeringen her.. skal bare, skal bare...

 

Får vel sove 3-4 timer nå da.

 

Ernie: unset er tingen ja, men får vi se koden ? kanskje vi kan komme med noen forslag? hvordan tar du tiden ? Zend har en fint innebygd ting som viser hvor lang tid programmet bruker på de forskjellige tingene..

 

 

Screen shot

 

men legge seg ja..

5802835[/snapback]

Koden + data har du jo over her. Til benchmarking bruker jeg følgende kode:

function microtime_float()
{
  list($usec, $sec) = explode(" ", microtime());
  return ((float)$usec + (float)$sec);
}

$calibrate_begin = microtime_float();
$calibrate_end = microtime_float();
$overhead_time = $calibrate_end - $calibrate_begin;

for ($i = 0; $i < 5; $i++)
{
$performance_begin = microtime_float();
for ($j = 0; $j < 800; $j++)
{
 //koden jeg vil kjøre
}
 
$performance_end = microtime_float();
echo (($performance_end - $performance_begin) - $overhead_time).'<br>';
}

 

Edit: Korrigert uoverenstemmelse i SQL-data.

Endret av Ernie
Lenke til kommentar

Ser det er noen som driver med større prosjekter (blant annet cms). En liten ting jeg da lurer veldig på er: Hva slags struktur/plan har folk her når de utvikler noe? Er det noen som er såpass avanserte at de bruker en SU-metode, eller er det bare Cowboy Coding ute og går her?

(SU = Systemutvikling)

Endret av Ernie
Lenke til kommentar
Gjest Slettet+6132
Ser det er noen som driver med større prosjekter (blant annet cms). En liten ting jeg da lurer veldig på er: Hva slags struktur/plan har folk her når de utvikler noe? Er det noen som er såpass avanserte at de bruker en SU-metode, eller er det bare Cowboy Coding ute og går her?

(SU = Systemutvikling)

5807888[/snapback]

 

Jeg koder vel mest på cowboy-måten. Jeg har en liten TODO-liste, og så koder jeg det jeg trenger når jeg orker :D (jeg har jo en liten tanke om hvordan ting skal fungere og slikt, men pleier bare trekke idéer ut fra hodet akkurat når jeg trenger dem ;) )

Lenke til kommentar
Ser det er noen som driver med større prosjekter (blant annet cms). En liten ting jeg da lurer veldig på er: Hva slags struktur/plan har folk her når de utvikler noe? Er det noen som er såpass avanserte at de bruker en SU-metode, eller er det bare Cowboy Coding ute og går her?

(SU = Systemutvikling)

Til større prosjekter pleier jeg å bruke RUP (men tar artifakter og slikt litt uhøytidelig hvis jeg føler det ikke er til hjelp), men til småarbeid er det stort sett bortkastet tid.

Lenke til kommentar
Ser det er noen som driver med større prosjekter (blant annet cms). En liten ting jeg da lurer veldig på er: Hva slags struktur/plan har folk her når de utvikler noe? Er det noen som er såpass avanserte at de bruker en SU-metode, eller er det bare Cowboy Coding ute og går her?

(SU = Systemutvikling)

5807888[/snapback]

 

Er vel mest cowboy-coding for min del, dessverre, har vel egentlig aldri tatt meg tid til å lese litt om SU-metoder og slikt. Pleier vanligvis å sette meg ned og skrive en liten plan før jeg begynner, men følger ingen SU-metoder slavisk.

 

Ang. hva min server kjører, er det:

 

PHP 5.0.5

Apache 2.0.54

MySQL 4.0.24

Lenke til kommentar

Mja. vanskelig å si hvilke programmeringsteknikk. Kommer mye ann på hva kravet er. Skal jeg bare smelle isammen noe for personlig bruk så blir det bare cowboy uten planlegging eller noe slik. På jobben blir det mer inkredimentell.

 

Jobber med et større prosjekt nå i open source-miljøet og der blir det nesten en blanding av vannfall og inkredimentell. Har i hvert fall erfart dokumentasjon er noe uhyre viktig, og at programmering tar faktisk tid (et halvt år uten å komme lengre enn dok er faktisk mulig). *hint,hint til den her som føler seg truffet nå* :p

Lenke til kommentar
Gjest Slettet+6132
Stemmer. :p

*stenge port 3306 så fort som overhodet mulig*  :whistle:

5812109[/snapback]

 

Nja, jeg vet jo bare at databasen var lokalisert på localhost, noe som ikke sier meg så mye utfra hvor jeg sitter nå.

 

[noobmode]

HØHØHØH! *hacke localhost*

[/noobmode]

 

:D

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...