Semplice tutorial PHP

Usate questo forum per proporre nuovi articoli, creare gruppi di lavoro, segnalare problemi, collaborare in genere al progetto Wikislacky.

Moderatore: Staff

Regole del forum
1) Citare l'eventuale nome e link dell'articolo della wiki.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
danix
Staff
Staff
Messaggi: 3287
Iscritto il: ven 27 ott 2006, 19:32
Nome Cognome: Danilo M.
Slackware: 64 current
Kernel: 5.4.43 x86_64
Desktop: i3
Località: Siderno (RC)
Contatta:

Re: Semplice tutorial PHP

Messaggio da danix »

kanzy ha scritto:@aschenaz

Ho rifatto tutto da capo per cercare di cucirlo su misura. Credo di aver imparato molto in queste 2 settimane, ma una l'ho persa solo per un ? e un = . Nel file funzioni.php del tutorial ho aggiunto un ? alla location per riuscire a farlo girare.. è giusto?..

<?php
function reindirizza($paginainterna=0) {
$location="Location: ../index.php?";
if($paginainterna) $location.="$paginainterna";
header($location);
exit;
}
?>

Non c'è un debugger per il PHP?..
Una di queste sere ti posto una sintesi del codice, così - please! - quando hai tempo gli dai un occhio: è il mio primo pezzo di codice php!
Se rileggi bene il tutorial nella funzione reindirizza il punto interrogativo c'è ed è prima della variabile $paginainterna... è il posto più corretto...

Te la riporto per completezza...

Codice: Seleziona tutto

function reindirizza($paginainterna=0) {
  $location="Location: ../index.php";
  if($paginainterna) $location.="?$paginainterna";
  header($location);
  exit;
}
ciau...
danix
myself ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti

kanzy
Linux 2.x
Linux 2.x
Messaggi: 210
Iscritto il: sab 10 mag 2008, 15:02
Slackware: 14.2

Re: Semplice tutorial PHP

Messaggio da kanzy »

@aschenaz

grazie della precisazione.. ho imparato una cosa in più! :D
(nel copia/incolla me l'ero mangiato, pardon..)
l'uomo ha bisogno di cibo rifugio e storie

Avatar utente
aschenaz
Staff
Staff
Messaggi: 4623
Iscritto il: mer 28 lug 2004, 0:00
Nome Cognome: Nino
Slackware: current
Kernel: 5.4.x
Desktop: KDE
Località: Reggio Calabria
Contatta:

Re: Semplice tutorial PHP

Messaggio da aschenaz »

kanzy ha scritto:@aschenaz

grazie della precisazione.. ho imparato una cosa in più! :D
(nel copia/incolla me l'ero mangiato, pardon..)
Veramente, la precisazione (per essere, appunto, precisi) te l'ha fatta danix! :)

kanzy
Linux 2.x
Linux 2.x
Messaggi: 210
Iscritto il: sab 10 mag 2008, 15:02
Slackware: 14.2

Re: Semplice tutorial PHP

Messaggio da kanzy »

@danix
grazie! :oops:

@aschenaz

Ecco qui come ho risolto. Oggi ho installato Gubed e non mi ha dato errori. In locale mi sembra che tutto funge a dovere.
Sicuramente è molto grezzo rispetto alle soluzioni eleganti ed asciutte del tutorial da cui ho attinto a piene mani, ma è il primo che faccio ed è solo un mese o poco più che mi impegno con il php. Ogni consiglio è oro colato per cominciare col piede giusto :D

index.php
--------
<?php
session_start();
isset($_GET["page"]) ? $page=$_GET["page"] : $page="home";
$riserva=array("amici","file2","file3");
$riservo=array("famiglia","foo2","foo3");
if(in_array($page,$riserva) && !session_is_registered("amiconi")) {
header("Location: ./index.php?page=login&messgg=Solo miei amici");
}
elseif(in_array($page,$riservo) && !session_is_registered("famigliari")) {
header("Location: ./index.php?page=login&messgg=Solo mia famiglia");
exit;
}
?>
<html>
<head><title>Prova</title></head>
<body>
<h1>Prova locale</h1>
<hr />
<div id="menu">
<?php
$vocimenu=array("home","distro","mobile","voip","design");
foreach($vocimenu as $voce) {
echo '<span style="padding-left: 1.5em;">';
if($page!=$voce) echo '<a href="index.php?page='.$voce.'">';
echo $voce;
if($page!=$voce) echo "</a>";
echo "</span>";
}
echo "\n";
?>
</div>
<!-- /menu -->
<div id="main">
<?php include("pagine/$page.php"); ?>
</div>
<!-- /main -->
<div id="coldx">
<div class="friends">
<dl>
<dt>area::amici</dt>
<dd>....link....</dd>
<dd>....link....</dd>
<dd><a href="index.php?page=amici">entra</a></dd>
</dl>
</div>
<div class="family">
<dl>
<dt>area::famiglia</dt>
<dd>....link....</dd>
<dd>....link....</dd>
<dd><a href="index.php?page=famiglia">entra</a></dd>
<dl>
</div>
</div>
<div id="clear">
<p>(CC) Creative Commons Public Licence</p>
</div>
</body>
</html>
--------


login.php
--------
<form action="./.nascosta/lab.php?azione=login" metod="post">
<p>utente <input type="text" name="user" /></p>
<p>password <input type="password" name="pass" /></p>
<p><input type="submit" value="vai" /></p>
<p><?php if(isset($_GET['messgg'])) echo $_GET['messgg'] ?></p>
</form>
--------


lab.php
--------
<?php
session_start();
include("connex.php");
$azione=$_GET["azione"];

if($azione=="login") {
$utente=$_POST["user"];
$parola=md5($_POST["pass"]);
$chiedi=mysql_query("SELECT * FROM utenti");
if($utente==mysql_result($chiedi,1,1) && $parola==mysql_result($chiedi,1,2)) {
session_register("amiconi");
$_SESSION['amiconi']=mysql_result($chiedi,1,2);
$mostra="../index.php?page=amici";
}
elseif($utente==mysql_result($chiedi,2,1) && $parola==mysql_result($chiedi,2,2)) {
session_register("famigliari");
$_SESSION['famigliari']=mysql_result($chiedi,2,2);
$mostra="../index.php?page=famiglia";
}
else {
$mostra="../index.php?page=login&messgg=Controlla le credenziali";
}
}

if($azione=="logout") {
session_unset();
session_destroy();
$mostra="../index.php";
}

echo '<script language=javascript>document.location.href="'.$mostra.'"</script>';
echo "\n";
mysql_close($connex);
?>
--------


amici.php
--------
<?php
session_start();
if(!session_is_registered("amiconi")) {
header("Location: ../index.php?page=login&messgg=Pagina riservata");
}
?>
<div>
<a href="./.nascosta/lab.php?azione=logout">Chiudi</a> queste pagine</p>
<!-- contenuti -->
</div>
--------


famiglia.php
--------
<?php
session_start();
if(!session_is_registered("famigliari")) {
header("Location: ../index.php?page=login&messgg=Pagina riservata");
}
?>
<div>
<a href="./.nascosta/lab.php?azione=logout">Chiudi</a> queste pagine</p>
<!-- contenuti -->
</div>
--------

spero, questa volta, di essere stato preciso ed esauriente :lol:
l'uomo ha bisogno di cibo rifugio e storie

Rispondi