• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Sperrzeit für Dropdownliste funz nich

Status
Für weitere Antworten geschlossen.

Joda1994

Neues Mitglied
Hallo, ich habe bei mir eine Dropdownliste erstellt, die mit zeitwerten gefüllt ist. wenn man dann den wert auswählt und bestätigt, sollte die liste eig für diese zeit gesperrt sein. das klappt aber nich so ganz. hier mal der code:

index.php mit liste:
HTML:
<p>
<form action="test.php" method="get"><input type="submit" /> <?php
if (!mysql_connect ("localhost", "root", ""))
echo mysql_error();
if (!mysql_select_db ("test"))
echo mysql_error();
if (!mysql_query("DELETE FROM `ips` WHERE'" .time()."' - `time` > `blocktime`"))
echo mysql_error();
if (!$result = mysql_query("SELECT * FROM `ips` WHERE `ip`='" . addslashes($_SERVER["REMOTE_ADDR"]) . "'"))
echo mysql_error();
if (!mysql_fetch_row($result))
{


	?> <select name="zeit" size="1">
	<?php
}
else
{


	?>

	<select disabled="disabled" name="zeit" size="1">
	<?php
}
?>
		<option><?php 
		if (!$result = mysql_query("SELECT * FROM `ips` WHERE `ip`='" . addslashes($_SERVER["REMOTE_ADDR"]) . "'"))
		echo mysql_error();

		if ($row = mysql_fetch_row($result))
		echo date("i:s", ($row[1] + $row[2] - time()));
		?></option>
		<option value="10">10 Minuten</option>
		<option value="20">20 Minuten</option>
		<option value="30">30 Minuten</option>
		<option value="40">40 Minuten</option>
		<option value="50">50 Minuten</option>
		<option value="60">60 Minuten</option>

	</select></form>
</p>


test.php mit zugeordneten zeitwerten zur blocktime:
HTML:
<html>
<head>
<meta http-equiv="expires" content="0">
<title>test</title>
</head>
<body>
<?php
if (!mysql_connect ("localhost", "root", ""))
	echo mysql_error();
if (!mysql_select_db ("test"))
	echo mysql_error();
	
if ($_GET["zeit"]=="10")
	$A=rand(0,250);
	if (!mysql_query("INSERT INTO `ips` (ip, time, blocktime) VALUES ('" . addslashes($_SERVER["REMOTE_ADDR"]) . "', '" . time() . "', '600')"))
		echo mysql_error();
if ($_GET["zeit"]=="20")
	$A=rand(0,438);
	if (!mysql_query("INSERT INTO `ips` (ip, time, blocktime) VALUES ('" . addslashes($_SERVER["REMOTE_ADDR"]) . "', '" . time() . "', '1200')"))
		echo mysql_error();
if ($_GET["zeit"]=="30")
	$A=rand(0,656);
	if (!mysql_query("INSERT INTO `ips` (ip, time, blocktime) VALUES ('" . addslashes($_SERVER["REMOTE_ADDR"]) . "', '" . time() . "', '1800')"))
		echo mysql_error();
if ($_GET["zeit"]=="40")
	$A=rand(0,875);
	if (!mysql_query("INSERT INTO `ips` (ip, time, blocktime) VALUES ('" . addslashes($_SERVER["REMOTE_ADDR"]) . "', '" . time() . "', '2400')"))
		echo mysql_error();
if ($_GET["zeit"]=="50")
	$A=rand(0,1094);
	if (!mysql_query("INSERT INTO `ips` (ip, time, blocktime) VALUES ('" . addslashes($_SERVER["REMOTE_ADDR"]) . "', '" . time() . "', '3000')"))
		echo mysql_error();
if ($_GET["zeit"]=="60")
	$A=rand(0,1313);
	if (!mysql_query("INSERT INTO `ips` (ip, time, blocktime) VALUES ('" . addslashes($_SERVER["REMOTE_ADDR"]) . "', '" . time() . "', '3600')"))
		echo mysql_error();
	
if (!mysql_query("INSERT INTO `werte` (`werte`) VALUES ('$A')"))
	echo mysql_error();
?>
</form>
</form>

</body>
</html>

hoffe ihr endeckt meinen fehler
 
dein ansatz ist völlig daneben..., was passiert wenn jemand 24 sekunden mitgibt ? warum get ? warum arbeitest du nicht mit timestamps?
 
jo ähm, schon ma das wort "dropdownliste" gehört. da kann man nichts eingeben. zu den fragen: warum nich get?^^
warum timestamps?^^

ne scherz beiseite. kenn mich nich so aus und es funktionierte ja auch schonmal. deshalb wollte ich das jez auch nich umändern. und ich hab das mit jemand anderem zusammengemacht, und der meint wir arbeiten mit timestamps. achja ich hab den f ehler. schreibe niemals 2 befehle in ein if-dingens ohne klammern^^.
 
ich würde mir die meinung von dem freak131 trotsdem mal gedanken machen an deiener stelle denn dein code ist unfassbar schlecht... ;)
 
ich habe garnicht wirklich durchgeblickt was du genau vor hast,
dieses ist mir sehr schleierhaft
PHP:
if ($_GET["zeit"]=="20")
    $A=rand(0,438);
    if (!mysql_query("INSERT INTO `ips` (ip, time, blocktime) VALUES ('" . addslashes($_SERVER["REMOTE_ADDR"]) . "', '" . time() . "', '1200')"))
        echo mysql_error();
wieso führst du die query so oft aus ?
wie bringst du die 20 und die 438 in zusammenhang ?
warum benutzt du nicht mysql_fetch_array ?
es lobt dich ja, dass du versuchst zu debuggen, aber muss man dafür wirklich in jede zeile mysql_error() schreiben ?
warum benutzt du addslashes (habe schon schlimmeres hier gesehen) anstatt mysql_real_escape_string?
hast du dich mal mit oop auseinandergesetzt?
warum benutzt du variabelnamen mit denen man nichts anfangen kann wie z.b. $A, $row ?
?> <select name="zeit" size="1"> <?php
warum benutzt du keine ausgabefunktionen wenn du ausgibst ?

Bitte nicht falsch verstehen, dass ist nur indirekt kritik, sie soll dir helfen auf einen gründen zweig zu kommen, man merkt bei dir, dass wille da ist, du solltest nur drauf achten wie du an die sachen ran trittst, ein beispiel z.b. "variable funzt nicht" ist kein guter thread titel, funktionieren tun variablen bestimmt, zudem sind die in qusi jedem code vorhanden, suchmaschienenundfreundlich ist es natürlich auch.

ich würde dir raten dich mal mit OOP auseinander zu setzen, später mit pattern. vorher solltest du dir die oben genannten kritiken des codes mal anschauen und drüber nachdenken und etl lösen oder später besser machen, ich verspreche dir du sparst sehr viel zeit, wenn du überlegt skriptest und nicht von ben nach unten. wenn ich dein interesse geweckt habe, kannst du dir auch mal template klassen angucken, wie t.b. "smarty php" > google.de.

Besten Gruß, Tim
 
öhm ja, ich probier man dein fragen zu beantworten:

1. kp, diesen code-teil hab ich nich selbst geschrieben.:oops:
2. die 438 is ein zufallswert, der rein gar nix mit 20 zu tun hat. er soll einfach in ner anderen datenbank gespeichert werden, so als kleines extra.
3. was isn das?:oops:
4. hab ich auch nich selbst geschrieben.:oops:
5. hab ich auch nich selbst geschrieben.:oops:
6. was ins oop. ich google gleich ma.
7. der code is ja nich so lang, da kann ich mir die noch merken.
8. kapier ich jez nich.:oops:

ich werd mich heute ma mit dem code auseinander setzen und ihn verkürzen. und ich werd auch ma nach smarty php googlen. ma gucken was dabei rauskommt
 
die siehst, da ist viel zutun.

der code is ja nich so lang, da kann ich mir die noch merken.
und was ist in 2 wochen ?
und woher wissen wir was du mit $A meinst zu meinen ? ;-)
2. die 438 is ein zufallswert, der rein gar nix mit 20 zu tun hat. er soll einfach in ner anderen datenbank gespeichert werden, so als kleines extra.
Du speicherst also nur so zum spass ?
 
höhö, ihr werdet nie wissen, was $A bedeutet :evil::D.
ach ähm, der code is schon fertig. sollte deinen anforderungen jez entsprechen. der is jetz auch viel übersichtlicher. und spass is toll. ne vllt kann ich ja später ma was mit dem wert anfangen.
und nur zur info, für die, die es noch nich kapiert hatten: ich wollte ein zufallswert, der nur erreicht wird, wenn die dropdownliste für ne bestimmte zeit gesperrt wird. destso mehr zeit man opfert, des so höher is der wert. hat jez nich wirklich einen sinn. ich beschäftige mich manchmal mit solchen aufgaben zur übung. und wenn sie nich klappen, poste ich das hier.^^
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben