Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z mysql :(
Forum PHP.pl > Forum > Gotowe rozwiązania
noose
witam.
mam taki problemik. pisze male forum na wlasny uzytek. zrobilem plik ktory ma kasowac poszczegolne topici. zeby moc skasowac, skrypt kaze sie zalogowac. jezeli user jest w bazie to pozwala skasowac, jak nie to nie (chodzi o to, ze na razie tylko admini sa w mysql tongue.gif).. ale..... skrypt nic nie kasuje :?
o to ten plik

[php:1:6ea216e42f]<html>
<title>Kasowanie posta</title>
<body>
<?
echo("TOpic do skasowania ma ID: $id");
function logowanie() {
echo("<form method="POST">n
<h1> Zaloguj sie! </h1><br>n
User: <input type="text" name="login"><br>n
Pass: <input type="password" name="haslo"><br>n
<input type="submit" name="submit" value="Zaloguj">n<br>
<br>
</form>n");
}
include("config.cfg");
if(!isset($submit)) {logowanie();} else {
if(isset($submit)) {
$db=mysql_connect("$sql_host", "$sql_user", "$sql_pass");
mysql_select_db("forum", $db);
$sql="SELECT * FROM users WHERE user_name = '$login'";
$result=mysql_query($sql);
while($row = mysql_fetch_array($result))
{
$user_pass=$row["user_pass"];
$user_name=$row["user_name"];
$i=3;
while($i > 0)
{
if (($haslo != $user_pass) || ($login != $user_name))
{
echo("Zly login/pass");
logowanie();
echo("<br>Masz jeszcze $i prob");
$i--;
} else {
$sql2="DELTE FROM topici WHERE topic_id='$id'";
mysql_query($sql2);
echo("<br>Skasowano topic o ID: $id smile.gif");
echo("<br>$sql2");
$i=0;

}
}
}
}}
?>
</body>
</html>[/php:1:6ea216e42f]
aha winksmiley.jpg zmienna $id jest przekazywana w linku czyli
Kod
skasuj.php?id=COS_TAM
KaMeLeOn
Hmm... http://forum.php.pl/viewtopic.php?t=789
scanner
http://forum.php.pl/viewtopic.php?t=789

Pozatym wydaje mi się, że $id jest typu INT a zapis[sql:1:a8626e483b] = '$id'[/sql:1:a8626e483b]Przekonwertuje $id na stringa. A w tytm momencie int porównane do stringa... (nie pamiętam, czy MySQL konwertuje typy przy porównaniu).
noose
no wlasnie nie :? to jest postawione na local host, zmienne globalne sa przekazywane.....
jakies inne sugestie :?:
noose
Cytat
http://forum.php.pl/viewtopic.php?t=789

Pozatym wydaje mi się, że $id jest typu INT a zapis[sql:1:f88c5ab474] = '$id'[/sql:1:f88c5ab474]Przekonwertuje $id na stringa. A w tytm momencie int porównane do stringa... (nie pamiętam, czy MySQL konwertuje typy przy porównaniu).


a po ludzku :?:
KaMeLeOn
Cytat
[...] (nie pamiętam, czy MySQL konwertuje typy przy porównaniu).

Konwertuje...
Cytat
to jest postawione na local host,

To nie ma znaczenia, dobrym zwyczajem jest używanie superglobali...
Cytat
a po ludzku

Wywal apostrofy...
noose
nie chodzi sad.gif

jak zrobic zmienne superglobalne :?:
KaMeLeOn
Cytat
jak zrobic zmienne superglobalne :?:

Link wyżej...
scanner
Cytat
Cytat
[...] (nie pamiętam, czy MySQL konwertuje typy przy porównaniu).
Konwertuje...
Będę pamiętał smile.gif
noose
heh :?
po <? dodalem linijke
Kod
$HTTP_GET_VARS["id"];
ale nadal nie dziala :?
jakies sugestie :?:
scanner
Gdzie ją dodałeś, jak ją dodałeś?
najlepiej zamień wszytskie: $id na $_GET['id']
KaMeLeOn
Cytat
po <? dodalem linijke
Kod
$HTTP_GET_VARS["id"];
ale nadal nie dziala :?

Że jak...?
Zamień wszystkie $id na $_GET['id'], albo chociaż daj na początku
[php:1:6eaf2621f5]<?php
$id = $_GET['id'];
?>[/php:1:6eaf2621f5]
noose
jak by to powiedziec.... nadal nie kasuje :?
scanner
[php:1:4310a6d3e6]
$sql2="DELTE FROM topici WHERE topic_id='$id'";
mysql_query($sql2);
[/php:1:4310a6d3e6]
a) Linijka 1: Co to jest "DELTE" ?
cool.gif linijka 2: [php:1:4310a6d3e6]<?php
mysql_query($sql2) or die( mysql_error () );
[/php:1:4310a6d3e6]
noose
ciekawe ile bym nad tym siedzial, zanim bym doszedl ze to literowka winksmiley.jpg dzieki biggrin.gif:D
scanner
Następnym razem, stosuj zapis który podałem jako drugi - w podstawopwym zakresie powi Ci on, czy masz błąd w zapytaniu smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.