Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP:lla osoite näyttämään kansiolta

samiorko [16.06.2009 21:21:43]

#

Eli onko mahdollista tehdä php:lla yhteen tiedostoon (index.php) koodi, jolloin kun käyttäjä kirjoittaa osoiteriville www.sivu.com/uutiset niin se oikeasti meneekin index.php:lle, joka lukee osoiteriviltä sen /uutiset kansion ja näyttäää uutiset.

EDIT: Se ei myöskään saisi vaatia että sellainen kansio on oikeasti (esimerkiksi includettamalla sen index.php:n kyseisen kansion indexissä) sillä siinä pitäisi toimia myös rekisteröityneiden käyttäjien profiilisivut. Esim /users/Käyttäjä jolloin sama index.php voisi katsoa kansion /users ja sitten hake mysql tietokannasta sen käyttäjän tiedot,

Triton [16.06.2009 21:23:41]

#

Ainakin niin onnistuu, että osoite muodostetaan esim. http://www.sivu.com/?uutiset=true

Eli koodia...

<?php

		if (isset($_GET['uutiset']) && $_GET['uutiset'] == true) {
			echo "Näytetään uutiset...";
		}


?>

peg [16.06.2009 23:08:31]

#

Onnistuu. Tarvit .htaccess tiedoston ja .. teen esimerkin.

.htaccess

RewriteEngine on
Options +FollowSymlinks
Options -MultiViews
RewriteBase /leivonen/
RewriteRule ^([a-zA-Z0-9]+)/$ index\.php?pg=$1
RewriteRule ^([a-zA-Z0-9]+)$ index\.php?pg=$1 [L]

index.php

<body>
<table width="740"  border="0" align="center" cellpadding="0" cellspacing="0" class="keha">
  <tr>
    <td><table width="620"  align="center" border="0" cellspacing="0" cellpadding="0">
		<tr><td><p class="otsikko" align="center">
			  Leivonen</td></tr>

    </table></td>
  </tr>
  <tr>
    <td class="navi" align="center">
     <table width="620" border="0" cellspacing="0" cellpadding="0">
      <tr align="center" valign="middle">
		<td class="links" align="center">
			<hr width="572">
			<a id="etusivu" href="etusivu">Etusivu</a>
			<a id="palaute" href="palaute">Palaute</a>
			<a id="tarjouspyynnot" href="tarjouspyynnot">Tarjouspyynnöt</a>


		</td>
		</tr>
    </table></td>
  </tr>
  <tr>
    <td><table width="574" align="center" height="330" border="0" cellspacing="0" cellpadding="0">

		<tr><td class="main" valign="top">

			<?php
				$linkki = $_GET['pg'];
				 if ($linkki == "")
				@include("etusivu.php");
				@include("$linkki".'.php');
			?>

		</td></tr>
	</table>


</table>

    <table border="0" align="center" width="700" cellpadding="0" cellspacing="0">
    <tr><td align="center">
    <hr width="574" align="center"></td></tr>
		<tr><br><td>
		Leivonen	-	Mikkeli eli alaosa

		</td></tr>
</table>
</body>

sitten teet etusivu.php, palaute.php ja tarjouspyynnot.php
kaikki samaan kansioon nimeltä leivonen joka on siis
.htaccess tiedostossa
RewriteBase /leivonen/

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta