Jump to content

html/php: site hulp


andyman

Recommended Posts

aha, dus het was zomaar een voorbeeld?

Als je het voor mediawiki wilt gebruiken zou ik denken dat daarvoor hetzelfde geld als ipb: er hoort een taalsysteem in verwerkt te zitten.

maargoed, hier werk ik wel even een taal-systeem uit indien nodig:

Je maakt een map aan genaamd language/ of zo.

Hierin maak je een bestand in language_nl.inc.php (language_nl.php kan ook, maar is onoverzichtelijker vind ik).

In dat bestand zet je hetvolgende:

$a_lang = array(

'about-title' => "About",

'home-title' => "Start",

'back' => "Terug"

);

Met steeds

'engels' => "Nederlands",

Dit hoeft nog niet compleet, als je maar een begin hebt, zodat je kunt zien waar je mee werkt.

Daarna maak je een nieuw bestand aan, maakt niet uit waar, genaamd language.class.php.

Hierin zet je hetvolgende:

class Language {
var $a_lang;
var $language;

function __construct($language="") {
	if($language != "") {
		$this->language = $language;
		// de database updaten zodat de taal wordt vervangen
	}
	$this->language = "nl"; // de taal, deze moet eigenlijk uit de database worden gehaald
	require("languages/language_".$this->language.".inc.php");
	$this->a_lang = $a_lang; // de array uit de requirement overnemen
}

function setLang($language) {
	$this->language = $language;
	// de database updaten zodat de taal wordt vervangen
}
}

dit kun je dan ergens aanroepen door middel van:

$lang = new Language();

of als je de taal gelijk wilt wijzigen:

$lang = new Language("en");

voor bijv. engels

daarna kun je een taalstring oproepen dmv

echo($lang->a_lang['about-title']);

waardoor er "About" komt te staan.

Als laatst kun je hiermee een taal gewoon wijzigen, dit geld dan echter niet voor de huidige pagina:

$lang->setLang("en");

Let wel dat je zelf nog wat dingen kunt/moet aanpassen:

- nieuwe language: updaten in database (2x, in construct en setLang)

- language ophalen ook vanuit database

- kijken of de taal ook daadwerkelijk bestaat

- de variabel-namen kun je eventueel aanpassen naar wat je zelf wilt.

- een functie get() kan ook om een taalstring op te roepen, dat is makkelijker als je nog een keer je website wilt omgooien/compleet herschrijven

Dit is in ieder geval al een basis, probeer er maar wat mee te knutselen. De database is niet verplicht, dat kan ook in een sessie of cookie. Dit hangt af van de situatie.

Succes, ik hoop dat je er wat aan hebt :puh: .

Bewerkt: door marcootje
Link to comment
Delen op andere websites

  • Reacties 707
  • Created
  • Laatste reactie

Top Posters In This Topic

  • Argon

    46

  • marcootje

    46

  • NickyHendriks

    36

  • Donald F. Duck

    34

Niet, IE6 ondersteund dit ongeveer voor 99% niet.

Volgens mij heb ik ergens een manier gelezen hoe het wel kan, maar dat weet ik niet zeker, en ik weet ook niet hoe dat kan.

Link to comment
Delen op andere websites

Niet, IE6 ondersteund dit ongeveer voor 99% niet.

Volgens mij heb ik ergens een manier gelezen hoe het wel kan, maar dat weet ik niet zeker, en ik weet ook niet hoe dat kan.

Nja, het moet wel kunnen want tot tot een paar maanden geleden gebruikte ik IE6 en ik zag geen enkele afbeelding met een lichtblauwe achtergrond.

Link to comment
Delen op andere websites

Momenteel ben ik voor een schoolopdracht bezig met een kleine website (PHP + CSS). Dat gaat wat betreft het CSS-gedeelte allemaal aardig gladjes, maar met PHP loop ik nu even vast. Ik wil namelijk gebruik maken van dit script voor een inlog- en registratiesysteem, maar mijn WAMPSERVER geeft de onderstaande twee foutmeldingen:

Notice: Undefined index: actie in C:\wamp\www\voetbalsite\login.php on line 9

Notice: Undefined index: actie in C:\wamp\www\voetbalsite\login.php on line 31

9: if ($_GET['actie'] == 'inloggen') {
10: // als inlogformulier is verstuurd
11:
12:	$sql = "SELECT * FROM members WHERE inlognaam='".$_POST['inlognaam']."'";
13:	$resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met de database");
14:	$aantal = mysql_num_rows($resultaat);
15:	if ($aantal == '0') {
16:	// als er geen resultaat is gevonden
17:		echo "Het door u ingevulde inlognaam bestaat niet.";
18:	} else {
19:	$login = mysql_fetch_object($resultaat);
20:	$login->passwoord;
21:	$login->inlognaam;
22:		if($_POST['passwoord'] == $login->passwoord) {
23:		// als gegevens kloppen met gegevens uit database, cookies setten en doorsturen!
24:				setcookie("inlognaamm", $_POST['inlognaam'], time() + 60*60); // cookie blijft 60 keer 60 seconden bestaan
25:				setcookie("passwoord", $_POST['wachtwoord'], time() + 60*60);
26:			echo "U bent succesvol ingelogd, een moment.. <META HTTP-EQUIV=\"REFRESH\" CONTENT=\"2; URL=".$redirect_pagina."\">";
27:		} else {
28:			echo "Uw inloggegevens kloppen niet, klik <a href=\"".$_SERVER['PHP_SELF']."\">hier</a> om nogmaals te proberen.";
29:		}
30:	}
31: } else if ($_GET['actie'] == 'registreren') {

Iemand enig idee wat er scheelt?

Link to comment
Delen op andere websites

Je moet denk ik eerst controleren of $_GET['actie'] wel bestaat en dit kan je doen door dit te gebruiken.

   <?php

  if(isset($_GET['actie'])) {
	   //Hier verder gaan
  }
  else { echo "Get Action bestaat niet!";
  }

?>

Link to comment
Delen op andere websites

Je moet denk ik eerst controleren of $_GET['actie'] wel bestaat en dit kan je doen door dit te gebruiken.

Klasse, dat lijkt te werken! Ik heb echter geen flauw benul waar ik dit stukje code kwijt kan:

   }
  else { echo "Get Action bestaat niet!";
  }

Onder line 31?

Link to comment
Delen op andere websites

Je moet denk ik eerst controleren of $_GET['actie'] wel bestaat en dit kan je doen door dit te gebruiken.

Klasse, dat lijkt te werken! Ik heb echter geen flauw benul waar ik dit stukje code kwijt kan:

   }
  else { echo "Get Action bestaat niet!";
  }

Onder line 31?

Je doet het stuk

   if(isset($_GET['actie'])) {

voor het stuk waar je met 'actie' begint (r. 9) en de

   }
  else { echo "Get Action bestaat niet!";
  }

op het eind, waar je stopt met het gebruik van 'actie', ik denk dus het eind van het script (voor de laatste regel en ?>).

Link to comment
Delen op andere websites

Je moet denk ik eerst controleren of $_GET['actie'] wel bestaat en dit kan je doen door dit te gebruiken.

Klasse, dat lijkt te werken! Ik heb echter geen flauw benul waar ik dit stukje code kwijt kan: (...)

Je moet het onderaan plaatsen. Als 'actie' bestaat, laat je de juiste 'actie' selecteren. Bestaat 'actie' niet, dan geef je de foutmelding. :)

@ rakker126: Volgens mij heb je niet speciale ondersteuning nodig.

Link to comment
Delen op andere websites

om het wat simpeler te houden, kun je ook gewoon zorgen dat $_GET['actie'] ALTIJD bestaat, dus zo:

if(!isset($_GET['actie'])) {

$_GET['actie'] = "";

}

dit gewoon boven alle ifjes met GET-actie's, en verder niets...

Link to comment
Delen op andere websites

Ik was een klein html scriptje aan het maken voor mijn site (:7), maar ik heb een paar probleempjes.

Dit is mijn script totnogtoe:

<html>	 
	<head> 
		<title>»senne-vdb«</title>
	</head> 
<center><img alt="header" src="header.png"></center>

	<body bgcolor="#0000FF">   


	<p><font face="arial color="#FFFFFF"><center><u><h1>Welkom</h1></u></center></p>

	<p align="center"><font face="arial" color="#FFFFFF" 
	  size="3"><h2>Windows has encountered an error (again)</h></font></p>

<font face="arial" color="#FFFFFF" 
	  size="3">Windows has tried to solve the problem, but as usual, it failed. Your 	PC will shut down from the moment that you close this window, and will never be able to reboot again.


Error code: $HS15823.1_54bis.  Solution to this error: buy a Mac. </font></p>



<p><font color="#FFFFFF"><center>Copyright Microsoft Inc.</center></p>
	</body>	 

	</html>

Om te beginnen wil het woord 'Welkom' niet wit worden, welke kleurcode ik er ook voor zet: het blijft zwart. Iemand enig idee waaraan dit kan liggen?

Tweede probleem: ik wil tussen de tekst "Windows has tried to solve the problem, but as usual, it failed. Your PC will shut down from the moment that you close this window, and will never be able to reboot again.", "Error code: $HS15823.1_54bis." en "Solution to this error: buy a Mac." telkens een regel tussen, zoals je in Word op enter zou drukken. Moet dit met een code fzo? :? overigens is de tekst gewoon om te testen hé. :puh:

Alvast bedankt aan diegene die met een antwoord komt. :)

:cya:

Bewerkt: door senneken
Link to comment
Delen op andere websites

Gast
Dit onderwerp is gesloten.
  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.

×
×
  • Create New...