pagine personali con php

xeryan

Nuovo Utente
3 Set 2010
22
0
0
Napoli, Italy
ciao a tutti, per il mio sito volevo mettere le pagine personalizzate per ogni utente, quindi ogni utente può modificare la propria pagina con codice html e poi farla visualizzare attraverso un link, avrei bisogno di un suggerimento di come fare per sviluppare tale richiesta..con il php riesco a fare questo --> ibaz.tk, ve ne sarei grato se mi aiutaste :eek:
 
Beh, se per "pagina" intendi solo una pagina in HTML, allora basta aggiungere un campo alla tabella degli utenti e consentirgli di modificarlo. Non dovrebbe essere per niente difficile. Però devi stare attento alla sicurezza: ti consiglio di usare la funzione strip_tags per eliminare tutti i tag al di fuori di quelli autorizzati.

Se invece si tratta di fare una cosa più complessa con blog e altre pagine dinamiche allora è più complicato. In quel caso ti consiglio di aprire un thread per ogni servizio e poi occuparti di metterli insieme.

P.S. Ricordo che qui non si fanno script su richiesta ;)
 
grazie della risposta, io devo fare una cosa semplice non troppo complessa..in pratica modificando il codice html della pagina lo salva nella tabella, poi aprendo una pagina dinamica visualizza la pagina richiesta (con get)
 
tralasciando la sicurezza per il momento, ho finito tutto:
PHP:
<form action="work_page.php" method="POST"><textarea cols="100" rows="20">
<?php
$connessione=mysql_connect("localhost","dominio","password");
$selezione_db=mysql_select_db("my_dominio", $connessione);

session_start(); $nick=$_SESSION['ses_nick'];
$pagecode=mysql_fetch_array(mysql_query("SELECT code FROM users WHERE nickname='$nick' LIMIT 1")); 
echo "$pagecode[code]";
?>
</textarea><br><input type="submit" value="Salva Pagina"></form>

e qui invece lo script di salvataggio della pagina:
PHP:
$codepage=htmlspecialchars($_POST['page_code']);
mysql_connect("localhost","dominio","password") or die ("Errore nella connessione.");
mysql_select_db("my_dominio") or die ("Errore nel selezionare il database.");

session_start(); $user_log=$_SESSION['ses_nick'];
if ($codepage!="") {
  mysql_query("UPDATE `my_dominio`.`users` SET `code` = '$codepage' WHERE nickname='$user_log' LIMIT 1") or die (mysql_error());
  echo "<div class='box_center_normal'>Pagina modificata con successo.<br><br><a href='home.php'>Ritorna alla homepage</a></div>";
 } else {
  echo "<div class='box_center_normal'>Nessun parametro passato al salvataggio della pagina.<br><br><a href='home.php'>Ritorna alla homepage</a></div>";
}
?>

e qui invece lo script di visualizzazione della pagina:
PHP:
<?php
mysql_connect("localhost","dominio","password") or die ("Errore nella connessione.");
mysql_select_db("my_dominio") or die ("Errore nel selezionare il database.");

$userpage=$_GET['p'];

if ($userpage!="") {
  $query=mysql_query("SELECT code FROM users WHERE nickname='$userpage' LIMIT 1");
  $num_rows=mysql_num_rows($query);
  if ($num_rows==1) {
    $codex=mysql_fetch_array($query);
    $decode_str=htmlspecialchars_decode($codex[code]);
    echo "$decode_str";
   } else {
    echo '<html><head><title>Errore - iB@z</title><LINK REL="StyleSheet" HREF="style.css" TYPE="text/css" MEDIA="all"></head><body><center><a href="home.php"><img src="title.png" border="0" alt="iB@z"></a></center><br><br><div class="box_center_normal">La pagina selezionata è vuota.<br><br><a href="home.php">Ritorna alla homepage</a></div></body></html>';
  }
 } else {
  echo '<html><head><title>Errore - iB@z</title><LINK REL="StyleSheet" HREF="style.css" TYPE="text/css" MEDIA="all"></head><body><center><a href="home.php"><img src="title.png" border="0" alt="iB@z"></a></center><br><br><div class="box_center_normal">Nessuna pagina selezionata da visualizzare.<br><br><a href="home.php">Ritorna alla homepage</a></div></body></html>';
}
?>
 
Ultima modifica:
Puoi creare un file .htaccess (se usi Apache) nella root del tuo sito con all'interno:
Codice:
RewriteEngine On
RewriteRule ^(.*)$ page.php?p=$1
Però questo potrebbe crearti anche altri problemi, in quanto se hai altri file oltre a page.php nella root non verranno visualizzati correttamente. Puoi ovviare così:
Codice:
RewriteEngine On
RewriteRule ^p/(.*)$ page.php?p=$1
E potrai accedere alla pagina dell'utente pippo all'indirizzo http://www.example.com/p/pippo.
 
purtroppo uso altervista e la modifica del file .htaccess è limitato ad alcune funzioni, infatti ho provato e non funziona, vabbe non era importante, grazie di tutto, sei stato molto gentile ad aiutarmi 0:)
 

Discussioni simili