Hallo allemaal,

Ik heb een editscript gemaakt/getweaked waarmee je data in de de database kan aanpassen nu wil ik hier echter een login script bij zetten zodat je alleen met wachtwoord en gebruikersnaam kan editten. Ook is het de bedoeling dat er 2 users komen de ene user kan bv. alleen id 2 en 4 aanpassen de andere kan alles aanpassen. Hoe kan ik dit het beste aanpakken hier volgt het script dat ik tog nu toe heb.

<?php

include("config.php");

if(!isset($_GET['mode']))
{

$result = mysql_query("SELECT * FROM pagina_content order by id ASC");


while($r=mysql_fetch_assoc($result))
{

echo '
<table width="400" border="0" cellspacing="4" bgcolor="#FFFC00">
<tr>
<td width="52" valign="top" >ID</td>
<td width="332"><div class="edit_tekst">'.$r['id'].'</div></td>
</tr>
<tr>
<td valign="top">Page</td>
<td><div class="edit_tekst">'.$r['pagina'].'</div></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><a href="editcontent.php?mode=edit&id='.$r['id'].'">Edit</a></td>
</tr>
</table><br/>';
}
}
?>





<?php

if( isset( $_GET['mode'] ) && $_GET['mode'] == 'edit' || isset( $_POST['mode'] ) && $_POST['mode'] == 'edit' )
{
if (!isset($_POST["submit"]))
{
$id = $_GET["id"];
$sql = "SELECT * FROM pagina_content WHERE id=".$_GET['id'];
$result = mysql_query($sql) or die(mysql_error());
$pagina_content = mysql_fetch_array($result);
?>

<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
<span class="titel">Edit content</span><br>
<br>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="117" class="naam">Pagina:</td>
<td width="577">
<input type=hidden name="id" value="<?php echo $menu["id"] ?>">
<INPUT NAME="pagina" TYPE="TEXT" id="pagina" VALUE="<?php echo $pagina_content["pagina"] ?>" SIZE=30> </td>
</tr>
</tr>
<td width="117" class="naam">Content vak 1:</td>
<td width="577">
<textarea name="content1" cols="50" rows="8" id="content1"><?php echo $pagina_content["content1"] ?></textarea>
<input type="hidden" name="mode" value="edit"> </td>
</tr>
<tr> </tr>
<td width="117" class="naam">Content vak 2:</td>
<td width="577">
<textarea name="content2" cols="50" rows="8" id="content2"><?php echo $pagina_content["content2"] ?></textarea>
<input type="hidden" name="mode" value="edit"> </td>
</tr>
<tr>
<tr>
<td width="117" class="naam">Plaatje:</td>
<td width="577">
<INPUT NAME="plaatje" TYPE="TEXT" id="plaatje" VALUE="<?php echo $pagina_content["plaatje"] ?>" SIZE=30>
<input type="hidden" name="mode" value="edit"> </td>
</tr>
<tr>
<td width="117" class="naam"></td>
<td><input type="submit" name="submit" value="Edit"></td>
</tr>
</table>
</form>

<? } ?>


<?php
if ($_POST["submit"])
{
$pagina = $_POST["pagina"];
$content1 = $_POST["content1"];
$content2 = $_POST["content2"];
$plaatje = $_POST["plaatje"];

$sql = "UPDATE pagina_content SET pagina='".$pagina."',content1='".$content1."',content2='".$content2."',plaatje='".$plaatje."' WHERE id=".$_GET['id'];

$result = mysql_query($sql) or die(mysql_error());
echo 'Content aangepast!.<META HTTP-EQUIV=Refresh CONTENT="2; URL=editcontent.php">';
}
}
?>

Alvast bedankt voor de hulp!
de fout melding is nu alsvolgt

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /www/htdocs/wwwinfrc/http/tijdelijk/editcontent.php:8) in /www/htdocs/wwwinfrc/http/tijdelijk/editcontent.php on line 31

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /www/htdocs/wwwinfrc/http/tijdelijk/editcontent.php:8) in /www/htdocs/wwwinfrc/http/tijdelijk/editcontent.php on line 31
ik heb 2 files hier:

login.php

<?php

include("config.php");

if(!isset($_POST['submit']))
{
echo ('<form action='.$_SERVER['PHP_SELF'].' method="post">
Gebruikersnaam:<br><input type="text" name="gebruikersnaam" size="25"><br>
Wachtwoord:<br><input type="password" name="wachtwoord" size="25"><br>
<br><input type="submit" value="submit" name="submit"><br>
</form>');
}
else
{
$user = $_REQUEST['gebruikersnaam'];
$pass = $_REQUEST['wachtwoord'];
$user = strip_tags($user);
$pass = strip_tags($pass);
$user = str_replace(" ","",$user);
$pass = str_replace(" ","",$pass);
$user = str_replace("%20","",$user);
$pass = str_replace("%20","",$pass);
$user = addslashes($user);
$pass = addslashes($pass);
$pass = md5($pass);
$request = "SELECT * FROM users WHERE wachtwoord='".$pass."' AND gebruikersnaam='".$user."'";
$results = mysql_query( $request ) or die ( mysql_error() );
if(mysql_num_rows($results))
{
$getid = "SELECT * FROM users WHERE gebruikersnaam='".$user."' LIMIT 1";
$getidexec = mysql_query($getid) or die (mysql_error() );
while($r=mysql_fetch_array($getidexec))
{
$id = $r['id'];
$rank = $r['rank'];
}
$_SESSION['id'] = $id;
$_SESSION['rank'] = $rank;
echo 'User Logged in.<META HTTP-EQUIV=Refresh CONTENT="2; URL=editcontent.php">';
}
else
{
echo 'Username and password do not match.
<META HTTP-EQUIV=Refresh CONTENT="2"; URL="'.$_SERVER['PHP_SELF'].'">';
exit();
}
}
?>

editcontent.php

<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

include("config.php");

if(isset($_SESSION['rank'])){
$rank = $_SESSION['rank'];
}
else {
$rank = 0;
}

echo $rank."<br />"; // Waarde van rank laten zien

if(($rank & 1) == 1)
{
// jeej je mag de pagina zien
if(!isset($_GET['mode']))
{

$result = mysql_query("SELECT * FROM pagina_content order by id ASC");


while($r=mysql_fetch_assoc($result))
{

echo '
<table width="400" border="0" cellspacing="4" bgcolor="#FFFC00">
<tr>
<td width="52" valign="top" >ID</td>
<td width="332"><div class="edit_tekst">'.$r['id'].'</div></td>
</tr>
<tr>
<td valign="top">Page</td>
<td><div class="edit_tekst">'.$r['pagina'].'</div></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><a href="editcontent.php?mode=edit&id='.$r['id'].'">Edit</a></td>
</tr>
</table><br/>';
}
}
}
else
{
// Niet de juiste rang
echo "U bent niet ingelogt!<br />";
}
?>

<?php

if( isset( $_GET['mode'] ) && $_GET['mode'] == 'edit' || isset( $_POST['mode'] ) && $_POST['mode'] == 'edit' )
{
if (!isset($_POST["submit"]))
{
$id = $_GET["id"];
$sql = "SELECT * FROM pagina_content WHERE id=".$_GET['id'];
$result = mysql_query($sql) or die(mysql_error());
$pagina_content = mysql_fetch_array($result);
?>

<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
<span class="titel">Edit content</span><br>
<br>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="117" class="naam">Pagina:</td>
<td width="577">
<input type=hidden name="id" value="<?php echo $menu["id"] ?>">
<INPUT NAME="pagina" TYPE="TEXT" id="pagina" VALUE="<?php echo $pagina_content["pagina"] ?>" SIZE=30> </td>
</tr>
</tr>
<td width="117" class="naam">Content vak 1:</td>
<td width="577">
<textarea name="content1" cols="50" rows="8" id="content1"><?php echo $pagina_content["content1"] ?></textarea>
<input type="hidden" name="mode" value="edit"> </td>
</tr>
<tr> </tr>
<td width="117" class="naam">Content vak 2:</td>
<td width="577">
<textarea name="content2" cols="50" rows="8" id="content2"><?php echo $pagina_content["content2"] ?></textarea>
<input type="hidden" name="mode" value="edit"> </td>
</tr>
<tr>
<tr>
<td width="117" class="naam">Plaatje:</td>
<td width="577">
<INPUT NAME="plaatje" TYPE="TEXT" id="plaatje" VALUE="<?php echo $pagina_content["plaatje"] ?>" SIZE=30>
<input type="hidden" name="mode" value="edit"> </td>
</tr>
<tr>
<td width="117" class="naam"></td>
<td><input type="submit" name="submit" value="Edit"></td>
</tr>
</table>
</form>

<? } ?>

<?php
if ($_POST["submit"])
{
$pagina = $_POST["pagina"];
$content1 = $_POST["content1"];
$content2 = $_POST["content2"];
$plaatje = $_POST["plaatje"];

$sql = "UPDATE pagina_content SET pagina='".$pagina."',content1='".$content1."',content2='".$content2."',plaatje='".$plaatje."' WHERE id=".$_GET['id'];

$result = mysql_query($sql) or die(mysql_error());
echo 'Content aangepast!.<META HTTP-EQUIV=Refresh CONTENT="2; URL=editcontent.php">';
}
}
?>

ik zou niet weten waarom hij de sessie niet onthoud... als je nu inlogt en dan

als je naar inlog.php gaat krijg je de volgende melding

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /www/htdocs/wwwinfrc/http/tijdelijk/login.php:1) in /www/htdocs/wwwinfrc/http/tijdelijk/config.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /www/htdocs/wwwinfrc/http/tijdelijk/login.php:1) in /www/htdocs/wwwinfrc/http/tijdelijk/config.php on line 2

je kan dan inloggen als je dat heb gedaan krijg je deze foutmelding


Warning: include(javascript.php) [function.include]: failed to open stream: No such file or directory in /www/htdocs/wwwinfrc/http/tijdelijk/login.php on line 12

Warning: include() [function.include]: Failed opening 'javascript.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /www/htdocs/wwwinfrc/http/tijdelijk/login.php on line 12

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /www/htdocs/wwwinfrc/http/tijdelijk/login.php:1) in /www/htdocs/wwwinfrc/http/tijdelijk/config.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /www/htdocs/wwwinfrc/http/tijdelijk/login.php:1) in /www/htdocs/wwwinfrc/http/tijdelijk/config.php on line 2
User Logged in.

dan kom je op de edit pagina dan ben je niet ingelogt en is de foutmelding alsvolgt

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /www/htdocs/wwwinfrc/http/tijdelijk/editcontent.php:8) in /www/htdocs/wwwinfrc/http/tijdelijk/config.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /www/htdocs/wwwinfrc/http/tijdelijk/editcontent.php:8) in /www/htdocs/wwwinfrc/http/tijdelijk/config.php on line 2
0
U bent niet ingelogt!

ik had net het inlogt script in de editcontent pagina gedaan toen werkte het wel totdat je dus op edit drukte heluuppp
haal dit overal weg

error_reporting(E_ALL);
ini_set("display_errors", 1);

en dit moeten de eerste 4 regels worden van je config.php

<?php
session_start();
ob_start();
error_reporting(E_ALL);
ini_set("display_errors", 1);
?>
heb het overal weggehaalt.

als mijn eerste 4 regels van de config.php als volgt zijn dan krijg ik deze foutmelding:

regels:

<?php
session_start();
ob_start();
error_reporting(E_ALL);
ini_set("display_errors", 1);


foutmelding:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /www/htdocs/wwwinfrc/http/tijdelijk/editcontent.php:8) in /www/htdocs/wwwinfrc/http/tijdelijk/config.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /www/htdocs/wwwinfrc/http/tijdelijk/editcontent.php:8) in /www/htdocs/wwwinfrc/http/tijdelijk/config.php on line 2
0

als ik session_start(); weg haal zijn de foutmeldingen weg als ik dan alleen inlog is hij de sessie weer vergeten.... en als ik ob_start(); weghaal is de foutmelding:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /www/htdocs/wwwinfrc/http/tijdelijk/editcontent.php:8) in /www/htdocs/wwwinfrc/http/tijdelijk/config.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /www/htdocs/wwwinfrc/http/tijdelijk/editcontent.php:8) in /www/htdocs/wwwinfrc/http/tijdelijk/config.php on line 2
0

hmmz t gaat ooit lukken :P
iemand nog een idee maby ander login script gebruiken ofzo??
tnx mensen hij doet het!!!!
Zelf opgelost (Y)
jordy schreef op 18.05.2006 19:45
Zelf opgelost (Y)
ja goed he :P haha

nu heb ik alleen weer een vraag god komt geen eind aan ik stel de vraag in een nieuwe topic

tnx voor alles alvast!!
hey peopless was ik weer.

Ik ben weer verder gegaan en het werkt nu goed alleen het volgende niet.. ik heb nu een script en de bedoeling is als je rank 4 heb kan je bepaalde ids bewerken en als je id 1 heb kan je weer andere ids bewerken ik heb nu het volgende:

<?php if(($rank & 1) == 1)
{
// rank is akkoord
if(!isset($_GET['mode']))
{

$result = mysql_query("SELECT * FROM pagina_content WHERE id=200 OR id=201 OR id=202 OR id=800");
}

elseif (($rank & 4) == 4)
{
// rank is akkoord
if(!isset($_GET['mode']))
{

$result = mysql_query("SELECT * FROM pagina_content WHERE id=300 OR id=301 OR id=402 OR id=500");
}
}
}
while($r=mysql_fetch_assoc($result))
{
echo

?>


hij geeft alleen de volgende foutmelding

Notice: Undefined variable: result in /www/htdocs/wwwinfrc/http/tijdelijk/editcontent.php on line 72

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /www/htdocs/wwwinfrc/http/tijdelijk/editcontent.php on line 72

de bedoeling was dat ik het variable $results de id's geef wel hij moet echo-e het werk alleen natuurlijk weer niet :P
je query's lijken me goed.
Als $result niet gevult wordt geeft die while lus natuurlijk een fout.
<?php
if(isset($result))
{
while($r=mysql_fetch_assoc($result))
{
// Blablabla
}
}
else
{
echo "* Fout: geen query gemaakt<br />";
}
?>

Reageren