2014-03-25 173 views
-1

我有一個問題,我無法解決。我在html中做了一個登錄頁面,它將訪問accesso.php兩個參數:用戶名和密碼。一旦出現這種情況,如果用戶名和密碼正確,我可以將數據添加到此特定登錄名。如果我回到登錄表單,並在字段中用另一個用戶名和密碼簽名以刪除某些記錄(第112行),則沒有以前登錄和刷新自身的記錄。你知道在會議上幫助我嗎?這是我的代碼。PHP和會話登錄和註銷

<html> 
<head> 

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<style type="text/css"> 
#main{ 
margin:0 auto; 
padding:0; 
background-color:grey; 
/*Stile shadow dietro css3*/ 
/*-moz-box-shadow: 5px 5px 100px #FFF;*/ 
/*-webkit-box-shadow: 5px 5px 50px #FFF;*/ 
/*box-shadow: 10px 10px 5px #FFF;*/ 
/*consiglio sempre di specificare le dimensioni del main*/ 
width:500px; 
height:950px; 
margin-top:110px; 

/*Bordi arrotondati css3*/ 
-moz-border-radius: 85px; 
-webkit-border-radius: 15px; 
border-radius: 15px; 

} 

#centro{ 
position:absolute; 
margin-left:70px; 
margin-top:20px; 


} 
h1{ 

color:red; 
} 

p{ 

color:red; 
} 

</style> 
</head> 
<?php 



$archivio=mysql_connect("localhost","root",""); 
$select=mysql_select_db("disco"); 
$username = $_POST["utente"]; //username 
$password = $_POST["password"]; //password 

session_start(); 
$provaT = $_SESSION['username'];//nome del locale non so come lo trova 

echo $provaT;//stampa a video nome del locale 


mysql_query("SET NAMES utf8"); // per caratteri speciali 
$sql = "SELECT * FROM locali WHERE username = '$username' AND password = '$password'"; //query verifica se username e password coincidono 
$res = mysql_query($sql) or die (mysql_error()); 

if(mysql_num_rows($res) > 0)//se è presente 
{ 



    while($row = mysql_fetch_array($res)) { 
    $_SESSION['username'] = $row['nome']; // la sessione prende il nome della colonna nome del db 


    ?> 

<body background="texture_disco.jpg"> 
<div id="main"> 
<div id="centro"> 
<?php 
echo "<h1>Benvenuto ".$row['nome']."</h1>"; 

$space = str_replace(' ',"",$provaT); 
$risultato=mysql_query("SELECT * FROM $space"); 
?> 

<form method="post" action="prova.php" > 
<h5>titolo</h5> 


<input type="name" name="nome" value="" id="nome"> 
<br> 
<br> 
<br> 
<textarea name="des" rows="20" cols="45"> 
Scrivi qui la tua recensione (Max 1000 caratteri ...) 

</textarea> 
<br> 
<br> 
<input type="name" name="link" value="" id="link"> 
<br> 
<br> 
<input type="submit" value="Inserisci Evento"> 

</form> 
<form method="post" action="delete.php" > 
<select name ="record"> 
<?php 

while($ok=mysql_fetch_array($risultato)) 
{ 

echo "<option value='".$ok['_id']."'>".$ok['nome']."</option>"; 

} 

echo '<h1>'.$ok['nome'].'</h1>'; 
?> 
</select> 
<input type="submit" value="Elimina evento" name="delete"> 
</form> 

<input type="submit" value="Elimina sessione" name="delete"> 

    <?php } 
} 

else 
{ 
header("Location: errore.php"); 

} 
$gammaT=mysql_close($archivio); 





?> 

</html> 

這是文件刪除的門在哪裏數據庫中的條目

<html> 

<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 


<style type="text/css"> 

#contEst{ 
top:70; 
margin:0 auto; 
padding:0; 
margin-top:-30px; 
background-image:url('sfondo.jpg'); 
/*Stile shadow dietro css3*/ 
/*-moz-box-shadow: 5px 5px 100px #FFF;*/ 
/*-webkit-box-shadow: 5px 5px 50px #FFF;*/ 
/*box-shadow: 10px 10px 5px #FFF;*/ 
/*consiglio sempre di specificare le dimensioni del main*/ 
width:500px; 
height:500px; 
margin-top:100px; 

/*Bordi arrotondati css3*/ 
-moz-border-radius: 85px; 
-webkit-border-radius: 15px; 
border-radius: 15px; 



} 


</style> 
</head> 






<body> 
<div id="contEst"> 
<?php 

session_start(); 

$provaR = $_SESSION['username']; 
echo '<h1>'.$provaR.'</h1>'; 
$archivio=mysql_connect("localhost","root",""); 
$beta=mysql_select_db("disco"); 
$space = str_replace(' ',"",$provaR); 
$risultato=mysql_query("SELECT * FROM $space"); 
$canc = $_POST["record"]; 
$spazi_titolo =mysql_real_escape_string($canc); 

$via=mysql_query("DELETE FROM $space WHERE _id='$canc'"); 
session_destroy(); 
mysql_close($archivio); 

//////////////// 



///////////////// 
echo '<h3>'."Voce cancellata correttamente".'</h3>'; 
//echo("$provaR"); stampa nome locale 
//echo '<a href="http://localhost/disco/Accesso.php"><input type="submit" value="Torna alla Home"></a>'; 


if(!$_COOKIE){ 
echo '<a href="http://localhost/disco/Accesso.php"><input type="submit" value="Torna alla Home"></a>'; 

} 

else{ 

echo "errore"; 
} 

?> 

</div> 

</body> 

</html> 

,並在此文件「test.php的」我在數據庫

<html> 
<head> 

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 

</head> 

<?php 
session_start(); 
$provaT = $_SESSION['username']; 
$title = $_POST['nome']; 
$des = $_POST['des']; 
$link = $_POST["link"]; 
$archivio=mysql_connect("localhost","root",""); 
$beta=mysql_select_db("disco"); 
$spaziT =str_replace(" ", "", $provaT); 
$spazi =mysql_real_escape_string($des); 
$spazi_title =mysql_real_escape_string($title); 
mysql_query("INSERT INTO $spaziT(nome,descrizione,link) VALUES('$spazi_title','$spazi','$link')"); 


echo "Nuovo evento creato"; 

    mysql_close($archivio); 

    echo '<a href="http://localhost/disco/icone.html"><input type="submit" value="Torna alla Home"></a>'; 
?> 




</html> 
+0

請甲酸鹽你的代碼。 – Dinistro

+0

向我們展示'delete.php'和'prova.php'中的內容 –

回答

0

添加條目不管發生什麼事情,這將不起作用:

header("Location: errore.php"); 

頭只能如果你還沒有任何輸出文本瀏覽器...

這裏閱讀:http://www.php.net/manual/en/function.header.php

請記住,標題()必須被調用發送任何實際輸出之前,無論是正常的HTML標籤,文件中的空行或PHP中的空行。使用include或require函數或其他文件訪問函數讀取代碼,並在調用header()之前輸出空格或空行是非常常見的錯誤。使用單個PHP/HTML文件時存在同樣的問題。

你也永遠不會關閉這些標籤

<body background="texture_disco.jpg"> 
    <div id="main"> 
     <div id="centro">