k.b, il codice completo:
Codice PHP:
<?php
// Script made by zypher
// All rights reserved
// Website: [url]http://beateaters.it[/url]
// Email: danilo(a)Beateaters.it
session_start();
$action = $_GET['action'];
$db_hostname = "localhost"; // SE NECESSARIO modifica col nome dell' hostname per accedere al db
$db_username = "USERNAME DB"; // Modifica con l' username per accedere al db
$db_password = ""; // SE NECESSARIO modifica con la password per accedere al db
$db_name = "NOME DB"; // Modifica col nome del db
mysql_select_db($db_name, mysql_connect($db_hostname, $db_username, $db_password)) or die(mysql_error());
if($action != "login" && $action != "admin" && $action != "delete" && $action != "show") {
header ('Location: ?action=login');
} elseif(empty($action)) {
header ('Location: ?action=login');
}
switch($action) {
case login:
$form_action = $_SERVER['PHP_SELF']."?action=login";
echo <<<EOT
<form action="{$form_action}" method="POST">
Username
<input type="text" name="username" required />
Password
<input type="password" name="password" required />
<input type="submit" name="login" value="Login" /></form>
EOT;
if(isset($_POST['login'])) {
$username = str_replace('\'','', htmlspecialchars($_POST['username']));
$password = str_replace('\'','', htmlspecialchars($_POST['password']));
$user = "NICKNAME"; // Modifica col nickname con cui il login avrà successo
$pass = "PASSWORD"; // Modifica con la password con cui il login avrà successo
if($username != $user || $password != $pass) {
echo '<span style="color: red; font-weight: bold; font-size: small;">Dati errati</span>';
} else {
$_SESSION['username'] = $username;
header ('Location: ?action=admin');
}
}
break;
case admin:
$form_action = $_SERVER['PHP_SELF']."?action=admin";
if(isset($_SESSION['username'])) {
echo <<<EOT
<form action="{$form_action}" method="POST">
Titolo (max 50 caratteri spazi compresi)
<input type="text" name="titolo" maxlength="50" required />
News (max 2000 caratteri spazi compresi)
<textarea name="news" cols="50" rows="15"></textarea>
<input type="submit" name="inserisci" value="Inserisci" /> <input type="button" onclick="window.location='?action=delete';" value="Cancella una news" /></form>
EOT;
if(isset($_POST['inserisci'])) {
$titolo = $_POST['titolo'];
$news = nl2br($_POST['news']);
mysql_query("CREATE TABLE IF NOT EXISTS news (id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, titolo VARCHAR(50), news VARCHAR(2000))");
$insert = mysql_query("INSERT INTO news (titolo, news, data) VALUES ('$titolo','$news')");
if($insert) {
echo '<span style="color: green; font-weight: bold; font-size: small;">News aggiunta correttamente</span>';
} else {
echo '<span style="color: red; font-weight: bold; font-size: small;">Errore: News non aggiunta. Riprovare.</span>';
}
}
}
break;
case delete:
$form_action = $_SERVER['PHP_SELF']."?action=delete";
if(isset($_SESSION['username'])) {
echo <<<EOT
<form action="{$form_action}" method="POST" onSubmit="confirm: ('Sei sicuro di voler cancellare?');">
Scegli la news da cancellare
<select name="news"><option value="null"> </option>
EOT;
$select_news = mysql_query("SELECT * FROM news");
while ($ref = mysql_fetch_row($select_news)) {
$id = $ref[0];
$titolo = $ref[1];
echo '<option value="'.$id.'">'.$titolo.'</option>';
}
echo <<<EOT
</select>
<input type="submit" value="Cancella" name="cancella" /></form>
EOT;
if(isset($_POST['cancella'])) {
$id = $_POST['news'];
$cancella = mysql_query("DELETE FROM news WHERE id='$id'");
if($cancella) {
echo '<span style="color: green; font-weight: bold; font-size: small;">News cancellata correttamente</span>';
} else {
echo '<span style="color: red; font-weight: bold; font-size: small;">Errore: News non cancellata. Riprovare.</span>';
}
}
}
break;
case show:
$sel_news = mysql_query("SELECT * FROM news");
while ($sel = $sel_news) {
$titolo = $sel[1];
$news = $sel[2];
echo <<<EOT
<span style="font-size: 24px; font-weight: bold;">{$titolo}</span>
<div style="width: 700px; text-align: justify;">{$news}</div>
EOT;
}
break;
}
?>
Errore:
Parse error: syntax error, unexpected T_SL in *sito* on line 27
Linea 27: echo <<<EOT
Dato che lo script non l' ho provato ma l' ha fatto un conoscente, ora chiedo se ha inserit altre righe che quindi potrebbero influenzare la posizione della riga 27.
PS:
Le righe:
Codice PHP:
$username = str_replace(''','', htmlspecialchars($_POST['username']));
$password = str_replace(''','', htmlspecialchars($_POST['password']));
Sono corrette, solamente che l' editor qui ha 'assorbito' gli slash prima dell' apice nello str_replace