php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Passwortschutz für Shoutbox...


 
snowangel
27-11-2005, 19:30 
 
Hi!
Ich hätte mal ne wichtige Frage...
Wie kann ich ein einfaches PHP Shoutbox Script (mit MySQL support und config file) so verändern, dass es Benutzer gibt, für deren Namen man ein Passwort braucht?
Also auf gut Deutsch.... Sagen wir, es gibt zwei Benutzer, z.B. user1 und user2, und ich will verhindern, dass jeder beliebige Benutzer mit diesen Nicks posten kann. Also lege ich jeweils ein Passwort fest, und wenn man den Nick eingibt, wird man zu einer Login Page weitergeleitet, und da muss man das dazugehörige Passwort eingeben, sonst kann man nicht posten.
Wie kann ich das machen? Bitte helft mir!!

Hier das action-script der Shoutbox:

<?php
$db_host = 'localhost';
$db_user = 'xy';
$db_password = 'xy';
$db_name = 'xy';

$name = $_REQUEST['name'];
$message = $_REQUEST['message'];
$update = $_REQUEST['update'];
$date = date("d/m/y - H:i");
$ip = $_SERVER['REMOTE_ADDR'];

mysql_connect($db_host,$db_user,$db_password) or
die(mysql_error());
mysql_select_db($db_name) or die(mysql_error());



// Jetz kommen die ganzen Fehlermeldungen, sie Smilies und
// sonstige automatisch ersetzte Sachen, z.B. URLs,
// das hab ich rausgeschnitten



mysql_query("INSERT INTO `shoutbox`(`name`,`message`,`date`,`ip`)
VALUES('$name','$message','$date','$ip')") or die(mysql_error());
}
}
}
$sql = mysql_query("SELECT * FROM shoutbox ORDER BY id
DESC LIMIT 10");
while($r=mysql_fetch_array($sql)){
$shout_block .= "<tr>
<td>
<b>$r[name]</b> : $r[date]
<br>$r[message]
<hr></td>
</tr>";
}
echo "shout_contents|
<table width=\"100%\"
border=\"0\"
cellspacing=\"0\" cellpadding=\"0\">
$shout_block
</table>";
}
}
?>



Danke schon im Voraus, wenn ihr helfen könnt!

 
TobiaZ
27-11-2005, 19:36 
 
Willkommen im Forum,

bitte sei so gut und halte dich an unsere Regel http://www.php-resource.de/forum/showthread.php?s=&threadid=47906 (Code umbrechen!)

 
snowangel
27-11-2005, 19:44 
 
Sorry jetzt müsste es passen, hab bloß ne größere Auflösung als 1024x768 :eek:

 
ghostgambler
27-11-2005, 19:55 
 
das sollte gehen...*nicht getestet hat*

<?php
if (isset($_POST['submit'])) {
$user = array('user1' => 'password1',
'user2' => 'password2');
if (in_array($name, array_keys($user))
AND (!isset($_POST['pass'])
OR (isset($_POST['pass']) AND $user[$name] != $_POST['pass']))) {
$pass_form = true;
?>
<form method="post">
<input type="hidden" name="comment" value="<?=$message?>" />
<input type="hidden" name="name" value="<?=$name?>" />
Passwort <input type="password" name="pass" />
<button type="submit" name="submit" value="submit">Eintragen</button>
</form>
<?php
} else {
mysql_query('INSERT');
}
}

if (!isset($pass_form)) {
?>
<normales Form>
<?php
}
?>

 
snowangel
27-11-2005, 20:04 
 
Also erst mal: DANKE!
Hier ist das zugehörige <FORM>

<form
action="javascript:sndReq(document.getElementById('text').value,
document.getElementById('message').value); Reset();" name="shoutbox" id="shoutbox">
Name: <input name="text" type="text" id="text" maxlength="15">
Message:
<input name="message" type="text" id="message" maxlength="130">
<input type="submit" value="Submit">
</form>

Soll ich es hier einbauen?

 
ghostgambler
27-11-2005, 20:30 
 
Original geschrieben von snowangel
Soll ich es hier einbauen?
du sollst lesen und verstehen...das war keine Lösung, sondern ein Lösungsvorschlag.
Wenn du ein fertiges Skript haben willst, geh nach Skriptgesuche!

 
snowangel
27-11-2005, 20:42 
 
Okay, jetzt hab ichs verstanden :) Danke!

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:49 Uhr.