bimbina82
@bimbina82
Post creati da bimbina82
-
Gestione categorie
Sto cercando di creare un sistema per la gestione delle categorie in un sito... solo che ovviamente non funziona mi aiutate a trovare l'errore?
Allora, le tabelle nel db sono:
category:
id (primary key)
namephotocategory:
categoryid (primary key)
imgid (primary key)poi ho: cats.php:
<h1>Gestione Categorie</h1> <ul> <?php include('include/database.php'); $cats = @mysql_query('SELECT id, name FROM category'); if (!$cats){ exit ('<p>Error retrieving categories from database!<br />'. 'Error: ' . mysql_error(). '</p>'); } while ($cat = mysql_fetch_array($cats)) { $id = $cat['id']; $name = htmlspecialchars($cat['name']); echo "<li>$name ". "<a href='editcat.php?id=$id'>Edit</a>| ". "<a href='deletecat.php?=$id'>Delete</a>"; } ?> </ul> <p><a href="newcat.php">Add a new category</a></p> <p><a href="index.php">Return to home page</a></p>
newcat.php:
<title>Aggiungi Categoria</title> </head> <body> <?php if (isset($_POST['name'])): include("include/database.php"); $name = $_POST['name']; $sql = "INSERT INTO category SET name='$name'"; if (@mysql_query($sql)) { echo '<p>New category added</p>'; } else { echo '<p>Error adding new category: ' . mysql_error() . '</p>'; } ?> <p><a href="<?php echo $_SERVER['PHP_SELF']; ?>">Add another category</a></p> <p><a href="cats.php">Return to categoty</a></p> <?php else: ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <p>Enter the new category:</p> <label>Name: <input type="text" name="name" /></label><br /> <input type="submit" value="SUBMIT" /> </form> <?php endif; ?>
editcat.php
<title>Modifica categorie</title> </head> <body> <?php include('include/database.php'); if (isset($_POST['name'])): $name = $_POST['name']; $id = $_POST['id']; $sql = "UPDATE category SET name='$name' WHERE id='id'"; if (@mysql_query($sql)) { echo '<p>Category details updated.</p>'; } else { echo '<p>Edrror updating category details: ' . mysql_error() . '</p>'; } ?> <p><a href="cats.php">Return to category list</a></p> <?php else: $id = $_GET['id']; $cat = @mysql_query("SELECT name FROM category WHERE id='$id'"); if (!$cat) { exit('<p>Error fetching category details: ' . mysql_error() . '</p>'); } $cat = mysql_fetch_array($cat); $name = $cat['name']; $name = htmlspecialchars($name); ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <p>Modifica la categoria:</p> <label>Nuovo nome: <input type="text" name="name" value="<?php echo $name; ?>" /></label><br /> <input type="hidden" name="id" value="<?php echo $id; ?>" /> <input type="submit" value="SUBMIT" /></p> </form> <?php endif; ?>
e infine deletecat.php:
<title>Cancella categorie</title> </head> <body> <?php include('include/database.php'); $id = $_GET['id']; $ok1 = @mysql_query("DELETE FROM photocategory WHERE categoryid='$id'"); $ok2 = @mysql_query("DELETE FROM category WHERE id='$id'"); if ($ok1 and $ok2) { echo 'Category deleted successfully!'; } else { echo '<p>Error deleting category from database! <br />'; 'Error: ' . mysql_error() . '</p>'; } ?> <p><a href="cats.php">Return to category list</a></p>
Innanzi tutto come errore mi dice
Notice: Undefined index: id
sia in deletecat.php che in editcat.php
e poi cmq nn fa quello che dovrebbe fare! Cioè, aggiunge e basta, ma non edita e non cancella!
HELP!
-
RE: Login in php
Ok, ho cambiato tutto il codice ho trovato un esempio già fatto su internet e l'ho adattato al mio :D:D:D ma ovviamente mi da degli errori
Ecco la pagina per il login:
<html> <head> <title>Maschera Login</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" type="text/css" href="stile.css"></head> <body> <div id="container"> <div id="header"> <img class="logo" src="images/LogoFotografando.jpg" alt="Logo Fotografando... immagini d'autore" /> <h1>Museo della fotografia italiana</h1> Lucca, Complesso monumentale di San Micheletto </div> <div id="navigation"> <a href="index.php">Home</a> | <a href="info.php">Informazioni</a> | <a href=" ">Eventi</a> | <a href=" ">Collezione</a> | <a id="activelink" href="#">Login</a> | <a href="registrazione.php">Registrati</a> </div> <div id="content"> <div id="right"> <img src="images/foto1.jpg" width="200" height="190" alt="Chiostro" border="0" /><br /> <font size="1" face="arial">Chiostro: angolo di nord-ovest.</font><br /><br /> <img src="images/foto2.jpg" width="200" height="193" alt="Veduta aerea" border="0" /><br /> <font size="1" face="arial">Veduta aerea del Complesso <br />Monumentale di San Micheletto</font> </div> <h2>Effettua il login al sistema</h2><br /><br /> <p>Immetti nei campi specifici i tuoi dati:</p> **<?php** // Connects to your Database mysql_connect("127.0.0.1", "root", "") or die(mysql_error()); mysql_select_db("museo2") or die(mysql_error()); //Checks if there is a login cookie if(isset($_COOKIE['ID_my_site'])) //if there is, it logs you in and directes you to the members page { $username = $_COOKIE['ID_my_site']; $pass = $_COOKIE['Key_my_site']; $check = mysql_query("SELECT * FROM utenti WHERE username = '$username'")or die(mysql_error()); while($info = mysql_fetch_array( $check )) { if ($pass != $info['password']) { } else { header("Location: members.php"); } } } //if the login form is submitted if (isset($_POST['submit'])) { // if form has been submitted // makes sure they filled it in if(!$_POST['username'] | !$_POST['pass']) { die('You did not fill in a required field.'); } // checks it against the database $check = mysql_query("SELECT * FROM utenti WHERE username = '".$_POST['username']."'")or die(mysql_error()); //Gives error if user dosen't exist $check2 = mysql_num_rows($check); if ($check2 == 0) { die('That user does not exist in our database. <a href=registrazione.php>Click Here to Register</a>'); } while($info = mysql_fetch_array( $check )) { $_POST['pass'] = stripslashes($_POST['pass']); $info['password'] = stripslashes($info['password']); $_POST['pass'] = md5($_POST['pass']); //gives error if the password is wrong if ($_POST['pass'] != $info['password']) { die('Incorrect password, please try again.'); } else { // if login is ok then we add a cookie $_POST['username'] = stripslashes($_POST['username']); $hour = time() + 3600; **setcookie('ID_my_site', $_POST['username'], $hour); ** **setcookie('Key_my_site', $_POST['pass'], $hour); ** //then redirect them to the members area **header("Location: members.php");** } } } else { // if they are not logged in **?>** <form action="**<?php** echo $_SERVER['PHP_SELF']**?>**" method="post"> <table border="0"> <tr><td colspan=2><h1>Login</h1></td></tr> <tr><td>Username:</td><td> <input type="text" name="username" maxlength="40"> </td></tr> <tr><td>Password:</td><td> <input type="password" name="pass" maxlength="50"> </td></tr> <tr><td colspan="2" align="right"> <input type="submit" name="submit" value="Login"> </td></tr> </table> </form> **<?php** } **?>** </div> <div id="footer">© 2007 - Sito Web realizzato da xxx</div> </div> </body> </html>
Gli errori sono qusti (ho evidenziato le righe in grassetto):
Warning: Cannot modify header information - headers already sent by (output started at c:\programmi\easyphp1-8\www\museo2\mascheralogin.php:13) in c:\programmi\easyphp1-8\www\museo2\mascheralogin.php on line 95
Warning: Cannot modify header information - headers already sent by (output started at c:\programmi\easyphp1-8\www\museo2\mascheralogin.php:13) in c:\programmi\easyphp1-8\www\museo2\mascheralogin.php on line 96
Warning: Cannot modify header information - headers already sent by (output started at c:\programmi\easyphp1-8\www\museo2\mascheralogin.php:13) in c:\programmi\easyphp1-8\www\museo2\mascheralogin.php on line 99
Sempre cookie e header che danno problemi :rambo1:
-
RE: Login in php
@Skyline said:
ma l'html come è fatto??
LOGIN.PHP
<?php
session_start();
?>
<html>
<head>
<title>Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="stile.css"></head>
<body>
<div id="container">
<div id="header">
<img class="logo" src="images/LogoFotografando.jpg" alt="Logo Fotografando... immagini d'autore" />
<h1>Museo della fotografia italiana</h1>
Lucca, Complesso monumentale di San Micheletto
</div><div id="navigation"> <a id="activelink" href="#">Home</a> | <a href="info.php">Informazioni</a> | <a href=" ">Eventi</a> | <a href=" ">Collezione</a> | <a href="mascheraLogin.php">Login</a> | <a href="registrazione.php">Registrati</a> </div> <div id="content">
<?php
include("include/config.php");
$uname=$_POST['uname'];
$passw=$_POST['passw'];
$sql="SELECT * FROM utenti WHERE username='$uname' and password='$passw'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1) {
header("location:login_success.php");
}
else {
echo "ATTENZIONE username o password errati";
}
?>
</div>
</div>
</body>
</html>Questa invece è la form per il login che è in un altro file:
<h2>Effettua il login al sistema</h2><br /><br /> <p>Immetti nei campi specifici i tuoi dati:</p>
<form action="http://localhost:81/museo2/login.php" method="post">
<table class="formLogin">
<tr>
<td>Username:</td>
<td><input type="text" name="uname" id="uname"></td></tr> <tr> <td>Password:</td> <td><input type="password" name="passw" id="passw"></td> </tr>
<tr>
<td></td>
<td>
<input type="hidden" name="op" value="login" />
<input type="submit" name="action" value="Entra" /></td></tr></table>
</form> -
RE: Login in php
Ok ho corretto così:
login.php:<?php
session_start();
?>
<html>
<head>
...bla bla...
<div id="content"><?php
include("include/config.php");
$uname=$_POST['uname'];
$passw=$_POST['passw'];
$sql="SELECT * FROM utenti WHERE username='$uname' and password='$passw'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1) {
header("location:login_success.php");
}
else {
echo "ATTENZIONE username o password errati";
}
?></div>
</body>
</html>Però ora praticamente mi dice che nelle righe in grassetto gli indici uname e passw sono indefiniti... dunque ma che cavolo di indici ci devo mettere lì? Da dove li prendo?
-
RE: Login in php
AIUTOO!!!! Sono una frana lo so, ma non riesco nemmeno a fare un login:x
Mi aiutate a trovare l'errore?
Dunque...
C'è una pagina di registrazione con una semplice form chiamata registrazione.php; i dati della form vengono passati al DB tramite la pagina esito.php:<html>
<head>
...bla bla...
<div id="content"><div id="esito">
<?php
include_once("include/config.php");$sql = "SELECT * FROM utenti WHERE username = '" . $_GET["username"] . "' AND password = '" . $_GET["password"] . "'"; $result = mysql_query($sql) or die("Query fallita: " .
mysql_error());
if (mysql_num_rows($result) > 0) {
echo"<b>ATTENZIONE: UTENTE GIA' REGISTRATO!!!</b>";
} else {
$sql = "INSERT INTO utenti (username, perms, password, name, surname, citta, eta) VALUES ('" .
$_GET["username"] . "', 'client', '" . $_GET["password"]. "', '" . $_GET["name"] . "', '" . $_GET["surname"] . "', '" .$_GET["citta"] ."', '" .$_GET["eta"] ."')";
$result = mysql_query($sql) or die("Query fallita: " .
mysql_error());
echo"<b>UTENTE REGISTRATO CORRETTAMENTE!!!</b>";
}
mysql_close();
?>
</div></html>il file config.php contiene:
<?php
$host = "127.0.0.1";
$username = "root";
$password = "";
$dbname = "museo2";
$conn = mysql_connect("$host", "$username", "$password")or die('Impossibile stabilire una connessione');
mysql_select_db("$dbname")or die("Impossibile connettersi al database");
?>Ora, la registrazione funziona, scrive sul Db e tutto.
Veniamo al login. C'è una maschera di login che contiene la form; i dati vengono processati dal file login.php:<html>
<head>
...bla bla...
<div id="content">
<?php
include("include/config.php");
$uname=$_POST['uname'];
$passw=$_POST['passw'];$sql="SELECT * FROM utenti WHERE username='$uname' and password='$passw'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1) {
**session_register("username");
**session_register("password");
header("location:login_success.php");
}
else {
echo "ATTENZIONE username o password errati";
}
?>
</div>
</body>
</html>Ovviamente mi da errore (le righe in grassetto
Warning: session_register(): Cannot send session cache limiter - headers already sent...........
Warning: Cannot modify header information - headers already sent by......
Credo sia perchè l'header non richiede altre cose scritte prima, ma come lo metto allora?
E poi secondo voi va bene il procedimento che ho usato per la gestione utenti o non ci ho preso per niente?Grazie!
-
RE: problemi con comando "header("location:")"
Ciao, mi attacco qui tanto il tema è lo stesso...
Io ho una pagina web con codice html, vari div, ecc. se metto un header all'interno della pagina non funziona, se lo metto all'inizio, prima di tutto, si. Però in questo modo la scritta che mi produce l'header mi viene in cima alla pagina, e non all'interno dove dovrebbe stare... come posso fare?
Ecco il codice:
<?php
include_once("include/config.php");
include_once("include/auth.lib.php");list($status, $user) = auth_get_status();
if($status == AUTH_NOT_LOGGED){
$uname = strtolower(trim(isset($_POST['uname'])));
$passw = strtolower(trim(isset($_POST['passw'])));
if($uname == "" or $passw == ""){
$status = AUTH_INVALID_PARAMS;
}else{
list($status, $user) = auth_login($uname, $passw);
if(!is_null($user)){
list($status, $uid) = auth_register_session($user);
}
}
}switch($status){
case AUTH_LOGGED:
header('LOCATION: http://127.0.0.1:81/Museo2/index.php');
echo '<div align="center">Sei gia connesso ... attendi il reindirizzamento</div>';
break;
case AUTH_INVALID_PARAMS:
header('LOCATION: http://127.0.0.1:81/Museo2/index.php');
echo '<div align="center">Hai inserito dati non corretti ... attendi il reindirizzamento</div>';
break;
.............
.............
}
?><html>
<head>
<title>Index</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="stile.css"></head>
<body>
<div id="container">
<div id="content">
...........
[la scritta dell'header dovrebbe stare qua]
............
</div>
</div>
</body>
</html> -
Hola!
Ciao a tutti!
E' da un po' che leggo qui e ci sono un sacco di cose interessanti, così finalmente mi sono iscritta... e ora vado subito a stressarvi con un po' di domande!!!