Skocz do zawartości
bemben1997

UnWarn nie dziala

Rekomendowane odpowiedzi

Witam wie może co jest nie tak w tym kodzie ?

<form method="post">  <input type="text" name="warn" />  <input type="submit" value="Usuń Warna" /></form><?php   if(isset($_POST['warn']))   {        $warn = mysql_real_escape_string($_POST['warn']);        mysql_query("update 'SavePlayer' set 'warns' = '0'");        echo 'Usunięte';   }?>
U mnie w bazie tak to wyglada bez-tytulu.jpg

A ja chciałbym ze wprowadzajac nick gracza ustawialo mu warns na 0.

Cały kod natomiast wygląda tak:

<!DOCTYPE html>
<html lang="pl">
	<head>
		<meta charset="UTF-8">
		<title>Unban</title>	
	</head>
<body>	
 

<form method="post" method="post">
  <input type="text" name="nick" />
  <input type="submit" value="UnBan" />
</form>

<?php
try{
$db = new PDO('mysql:host=mysql.sh191956.website.pl;dbname=sh191956_panel', 'sh191956_panel', 'qwerty',array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
}catch (PDOException $e){
print "Błąd połączenia z bazą danych!: " . $e->getMessage() . "<br/>";
die();
}
?>
<?php	

	$nick = isset($_POST['nick']) ? $_POST['nick'] : false;

	if(isset($_POST['nick'])){ 
		$isPlayer = $db->prepare("SELECT * FROM `bans` WHERE `nick` = :nick");
		$isPlayer->bindValue(":nick", $nick, PDO::PARAM_STR);
		if (!$isPlayer->execute()){
		    print_r($isPlayer->errorInfo());
		}
		if($isPlayer->rowCount() > 0)  {
			$delete = $db->prepare("DELETE FROM `bans` WHERE `nick` = :nick" );
			$delete->bindValue(":nick", $nick, PDO::PARAM_STR);
			if (!$delete->execute()){
		            print_r($delete->errorInfo());
		    }
		    echo 'Użytkownik: '.$nick.' został odbanowany!';
		}else{
			echo 'This user is not banned!';
		}
	}
?>

<form method="post">
  <input type="text" name="warn" />
  <input type="submit" value="Usuń Warna" />
</form>
<?php
   if(isset($_POST['warn']))
   {
        $warn = mysql_real_escape_string($_POST['warn']);
        mysql_query("update 'SavePlayer' set 'warns' = '0'");
        echo 'Usunięte';
   }
?>
</body>
</html>

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jak korzystasz z PDO to korzystaj z niego w całym kodzie.

Podaj strukture bazy, bo na screenie nic nie widać.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
$unwarn = 0;
$update_warn= $db->prepare("UPDATE `SavePlayers` SET `warns` = :unwarn WHERE `nick` = :nick" );
$update_warn->bindValue(":unwarn", $unwarn, PDO::PARAM_INT);
$update_warn->bindValue(":nick", $nick, PDO::PARAM_STR);
   if (!$update_warn->execute()){
      print_r($update_warn->errorInfo());
   }
Edytowane przez dawid4157

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
<form method="post">
  <input type="text" name="warn" />
  <input type="submit" value="Usuń Warna" />
</form>
<?php
  $unwarn = 0;
$update_warn= $db->prepare("UPDATE `SavePlayers` SET `warns` = :unwarn WHERE `nick` = :nick" );
$update_warn->bindValue(":unarn", $unwarn, PDO::PARAM_INT);
$update_warn->bindValue(":nick", $nick, PDO::PARAM_STR);
   if (!$update_warn->execute()){
      print_r($update_warn->errorInfo());
   }
?>

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Masz literówkę drobną. Proszę patrz na to co kopiujesz i analizuj :)

<form method="post">
<input type="text" name="warn" />
<input type="submit" value="Usuń Warna" />
</form>
<?php
$unwarn = 0;
$update_warn= $db->prepare("UPDATE `SavePlayers` SET `warns` = :unwarn WHERE `nick` = :nick" );
$update_warn->bindValue(":unwarn", $unwarn, PDO::PARAM_INT);
$update_warn->bindValue(":nick", $nick, PDO::PARAM_STR);
if (!$update_warn->execute()){
print_r($update_warn->errorInfo());
}
?>

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie wyświetla błedów , ale nie usuwa warnów :/

 

Chętnie bym Ci pomógł(ale chyba już to zrobiłem). Nie wiem jednak czy to była forma pytania, czy stwierdzenia, że coś nie działa. Jeśli masz jeszcze problem to opisz go szerzej.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Podaj jakie masz tabele w bazie danych i kod. Nie wiem jak Ty to w całości skleiłeś.

Sim00n chciał Ci powiedzieć, że może źle masz zapytanie sformułowane.

Edytowane przez dawid4157

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

A więc tak wpisuje swój Nick naciskam button usuń warna i nic się nie dzieje waranów mam 14 i po naciśnięciu nadal 14

A te 14 ostrzerzeń to jak wyglądają? Zawsze podawaj kod i błędy/ostrzerzenia. Oszczędzisz pisania kolejnego posta z prośbą o wrzucenie.

Edytowane przez dawid4157

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
<!DOCTYPE html>
<html lang="pl">
	<head>
		<meta charset="UTF-8">
		<title>Unban</title>	
	</head>
<body>	
 
<!--KOD FORMULARZA HTML-->
<form action="unwarn.php" method="post" method="post">
  <input type="text" name="nick" />
  <input type="submit" value="Delete warn" />
</form>
<!--KOD ŁĄCZENIA SIĘ Z BAZĄ DANYCH-->
<?php
try{
	$db = new PDO('mysql:host=mysql3.superhost.pl;dbname=sh191956_panel', 'sh191956_panel', 'qwerty',array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
	}catch (PDOException $e){
	print "Błąd połączenia z bazą danych!: " . $e->getMessage() . "<br/>";
	die();
	}
?>
<?php	
	//OPERATOR TRÓJOPERANDOWY(ODPOWIEDNIK INSTRUKCJI WARUNKOWEJ)
	$nick = isset($_POST['nick']) ? $_POST['nick'] : false;
	//JEŚLI ISTNIEJE ZMIENNA $_POST O PARAMETRZE `nick`...
	if(isset($_POST['nick'])){  
		$isPlayer = $db->prepare("SELECT * FROM `SavePlayer` WHERE `Nick` = :nick");
		$isPlayer->bindValue(":nick", $nick, PDO::PARAM_STR);
		if (!$isPlayer->execute()){
		    print_r($isPlayer->errorInfo());
		}
		if($isPlayer->rowCount() > 0)  {
			$delete = $db->prepare("UPDATE `SavePlayer` SET `Warns` = `Warns` - 1 WHERE `nick` = :nick" );
			$delete->bindValue(":nick", $nick, PDO::PARAM_STR);
			if (!$delete->execute()){
		            print_r($delete->errorInfo());
		    }
		    echo 'Użytkownikowi: '.$nick.' zostało zdjęte jedno ostrzeżenie!';
		}else if(empty($nick)){
			echo 'This input can not be empty!';
		}else{
			echo 'No such user!';
		}
	}
?>
</body>
</html>

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×