Hem | Blogg | Galleri | Länkar | Om mig | Logga in

Webbutveckling

PHP: mysql_connect() problem under Windows 7

För alla er som kör MySQL och PHP 5.3 under Windows 7, Windows Vista eller Windows Server 2008 och vill kunna använda "localhost" i mysql_connect() anropet istället för ip-addressen, ni kan fortsätta läsa, ni andra som inte fattar ett ord vad jag skriver kan slut läsa nu. :P

Tydligen så har man i PHP 5.3 ändrat hanteringen av anslutningen hantering då man nu mera kör mysql drivarna i native, så nu mer måste man se till att hosts filen är uppdaterad om man vill använda "localhost" under ovannämnda windows versioner. Själv trodde jag först att det var problem med brandväggen i Windows men så var det tydligen inte och det gick åt en hel kväll för att förstå varför jag hela tiden fick "connection-timeout" på anslutningen mot MySQL servern.

Så om vill ni lösa ovannämnda? Öppna hosts filen som ligger i windows-katalogen: Windows/System32/drivers/etc och se till att följande står där:
127.0.0.1 localhost

och kommentera bort följande, om det står i hosts filen:
::1 localhost

Inlagd: 2010-04-08 | 21:41:31

Content Management System

Har testat några CMS system för att se vad som finns och vilka som verkar vettiga att använda. Jag har valt CMS system efter förutsättningarna att de ska vara väl använda, det ska finnas ett stor utbud av extensions/plugins, det ska bygga på PHP+MySQL och det ska vara gratis!

Det finns en lista på Wikipedia över de flesta CMS system som finns: http://en.wikipedia.org/wiki/Cms_list

Följande CMS system har jag testat:
MODx http://modxcms.com
e107 http://e107.org
PHP-Fusion http://www.php-fusion.co.uk/

Det CMS system jag fastnade mest för var MODx eftersom det fanns större frihet i det systemet att använda en helt egen design i grunden men ändå få användning av många trevliga stöd funktioner i CMS verktyget. Dessutom finns det en uppsjö av plugins till MODx som var mycket enkla och trevliga att använda. PHP-Fusion var även det trevligt att använda och det liknar mer ett traditionellt CMS verktyg (precis som e107 gör) som går att designa och bygga ut med många färdiga plugins.

Inlagd: 2009-10-14 | 14:37:56

HTML: Button vs Input Button

Uppdaterad: Jag har labbat lite med knappar i HTML formulär då jag har upptäckt en del problem med just knappar i Internet Explorer 8 (IE8). Det finns två olika typer av knappar som man kan använda sig av i HTML formulär, den ena är av taggen <button> och den andra är med input-taggen <input type="button">. Enligt W3C som tagit fram standarden för HTML4, så skall taggen <button> ge en bättre möjlighet att rendera knappar med både bild och text jämfört med taggen <input="button">. Så jag har labbat lite för att se vad som fungerar bäst om man vill ha knappar med en bild eller knappar med både bild och text.

Jag har använt mig av följande HTML kod när jag testade:

<button name="ImageButton" style="width:23px; height:23px" 
onclick="InsertImage()"><img src="imageicon.jpg"></button>

Tricket med koden ovan är att när man använder taggen <button> så kan man placera inre HTML kod mellan <button> och </button> vilket man inte kan göra om man använder <input="button"> taggen. Jag misstänker att det är just detta som ställer till det för IE8 när den skall rendera knappen.

Så här olika ser renderingen av knapparna ut i de olika versionerna av Internet Explorer:

Slutsatsen av labbandet blev det var mycket svårt (kanske omöjligt) att få till en lösning där knappen renderas likadant i alla webbläsare, dvs att bilden och texten skall synas i knappen. Man kan direkt säga att IE8 har stora problem att rendera knappar med bilder av tagg-typen <button>. Både IE6 och IE7 klarar av att rendera knapparna mycket bättre än IE8. En liten brasklapp bara det finns dock en "Compability"-knappen i IE8, som gör att den renderar annorlunda och då fungerar den likadant som i IE6/IE7 men det är ju tragiskt och inte så roligt att använda den knappen.

Inlagd: 2009-09-29 | 13:17:26

PHP: highlight_string(string $str)

Jag har haft lite fundering på sistone över hur man kan syntax highlighta kod i inläggen här på bloggen. När jag senast skrev om mail-funktionen slog det mig att php-koden i inlägget inte alls blev särskilt snyggt i kursiv stil, så jag har nu undersökt vilka möjligheter det finns att highlighta koden.

Och i det fantastiskt trevliga språket PHP finns så klart färdiga funktioner för det mesta; funktionen highlight_string gör jobbet enkelt, man bara skickar in en sträng med php-koden som man vill få highlightad (schyst svengelska...) och ut kommer highlightad php-kod i html format, väldigt enkelt!

Det finns dock en hake! Funktionen highlight_string skriver direkt in i den interna utskrifts bufferten vilket gör att om man använder funktionen ob_start() för att buffra all utskrift data så kan data hamna i fel ordning. Detta hände såklart mig efter som jag använder ob_start funktionen, det finns dock en ganska enkel lösning som ni kan se ett exemplet på nedan. Det är att anropa ob_start ytterligare en gång innan man anropar highlight_string och efter anropet hämta data från den ny skapade bufferten och spara den i en sträng för att senare skicka strängen för utskrift, se nedan:

<?php
function TextToHtml($Text)
{
  
// Do some stuff
  // ...
  // and get the code

  
ob_start();  // Create a new output buffer
  
highlight_string($Code);
  
$HighlightedCode=ob_get_contents(); // Get the highlighted code
  
ob_end_clean(); // Clean the newly created buffer

  
$TheHtmlText .= $HighlightedCode;
  return 
$TheHtmlText;
}

ob_start();
echo(
"Before call to TextToHtml\n");
$HTMLCode TextToHtml($Text);
echo(
"After call to TextToHtml\n");
echo(
$HTMLCode);
ob_end_flush();

// Output should be:
// Before call to TextToHtml
// After call to TextToHtml <= Because we have used a new output buffer
// Then the $HTMLCode with the highlighted php code
?>

SÃ¥ vad tycks ganska snygg highlightad kod va?

Inlagd: 2008-11-20 | 22:52:55

PHP: mail()

Ibland är vissa saker enklare än vad man tror. Jag har flera gånger funderat över hur man skulle kunna skicka mejl direkt från webbservern med hjälp av t.ex. PHP, men jag har aldrig tagit mig tid till att undersöka saken, för än häromdagen. Då bläddrade jag i referens manualen för PHP och där hittar jag ganska snart funktionen mail(). Min första tanke var "Va?! Bara en funktion, ett anrop… Nej, det kan inte vara så enkelt!", men det visade sig var precis så enkelt, allt som behövs för att skicka ett mejl med PHP var ett enkelt anrop till funktionen mail(). Enda förutsättningen är att konfigurations filen php.ini är korrekt uppsatt (med mejlservrar m.m.) och det hade min webbhotellsleverantör redan gjort åt mig. :-D

Här är lite PHP-kod som skickar ett html-mejl med hjälp av funktionen mail():
<?php
$message 
'
<html>
<head>
  <title>Mail title</title>
</head>
<body>
  <p>Hi!</p>
  <p>Your message…</p>
  <p>Best regards,<br />Your name</p>
</body>
</html>
'
;

$headers  'MIME-Version: 1.0' "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' "\r\n";
$headers .= 'From: name <name@domain.com>' "\r\n";
$headers .= 'X-Mailer: PHP/' phpversion();

mail('to@domain.com''Mail title'$message$headers);
?>

Inlagd: 2008-11-05 | 14:32:29

Webbutveckling och validering

Som amatör webbutvecklare är man ganska så vilsen på alla nya uttryck och begrepp som uppkommer lite då och då. Det inte som lätt heller att förstå sig på hur man ska använda den nya tekniken och ännu mindre hur man ska implementera den på sin webbplats. Därför är det väldigt trevligt att det finns många gratis skolor på nätet, där man kan både jämföra de olika teknikerna (så som HTML, CSS, XHTML, XML, RSS, PHP, ASP m.m.) och lära sig använda dem.

Här är två gratis skolor på nätet som jag kan verkligen kan rekommendera, den ena är till och med på svenska:
- << NinetNet >> (svensk)
- W3 Schools

Några bra verktyg som är trevliga att använda är det så kallade "validerarna" eller verifierarna om man så vill. Dessa verktyg kan man som utvecklare använda för att se till att den kod man skriver följer den givna standarden, vilket inte alltid är helt lätt. Men det bästa av allt är att det ofta ger förslag på eller rekommenderar olika lösningar på eventuella problem. Det kan vara väldigt värdefullt om man vill att webbsidan man utvecklar skall fungera med många olika webbläsare. För även om man använder ett utvecklingsverktyg så är det ändå inte säkert att verktyget helt följer standarden.

Här är några validerare:
- HTML, XHTML Validator
- CSS Validator
- RSS Validator

Inlagd: 2007-10-16 | 21:44:35

Hur är en webbplats uppbyggd?

IDG.se hade en intressant artikel idag, är man i startgroparna och skall starta en ny webbplats så kan det vara trevligt om man kan se vad andra har använt för teknik för att bygga upp sina framgångsrika sajter. Nu kan man det hur enkelt som helst, på sajten BuiltWith.com kan du själv göra analyser av olika webbplatser och se vad det använder för teknik.

Jag testade så klart direkt med med min egen sajt blog.sequoias.se, test själv här: http://builtwith.com/?blog.sequoias.se
Länk till IDG-artikeln: http://www.idg.se/2.1085/1.125150

Inlagd: 2007-10-12 | 11:48:18

Div problem

Som Defdac redan har upptäckt har jag problem med div'arna om man kör t.ex. Firefox. Firefox som följer CSS standarden bättre än IE struntar blankt i om innehållet i en div (med höjdbegränsning) är för stor som då flödar ut över den, medan IE är lite mer "förlåtande" och justerar höjden på div'en om innehållet i den skulle vara för stor.

För att illustrera problemet har jag laddat upp en bild med två skärmdumpar från det olika webbläsarna och den tycker jag belyser problemet ganska bra.

Jag har fixat en tillfällig lösning på problemet genom att kommentera bort höjdbegränsningen på de sidor med div'ar som innehåller information som kan expandera. Ett problem uppstår då dock med meny till höger, om innehållet på en sida har en höjd som är mindre än menyns då kommer färgen från menyn att synas i underkant, vilket inte är så snyggt.

Alla tips på lösningar är välkomna!

Inlagd: 2007-09-04 | 22:45:02
Om Cookies | Skicka e-post RSS RSS flöde | | Copyright ©2007 - 2017 Thomas Nordh
Hosted by: