Pereiti prie turinio

Rekomenduojami pranešimai

Turiu kodą, kuris iš dalies vykdomas:

 

if($_POST['ok'])
{
mysql_query("DELETE FROM users WHERE username='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM fx WHERE username='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM fo WHERE username='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM fr WHERE username='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM f5 WHERE username='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM fz WHERE username='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM 4 WHERE username='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM 6 WHERE username='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM rt WHERE username='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM c WHERE username='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM r4 WHERE username='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM u1 WHERE username='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM u WHERE username='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM xg WHERE username='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM r WHERE username='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM xg WHERE username='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM x WHERE username='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM xd WHERE username='$nickas'") or die (mysql_error());

echo "<br />";
echo "<div align='center'>";
echo "<b>Zaidejas istrintas sekmingai</b>";
echo "</div>";
}

if($_POST['no'])
{
echo "<br />";
echo "<div align='center'>";
die("<b>Si karta nieko netrinsim</b>");
echo "</div>";
}

 

 

Esmė, kad antras if'as vykdomas, o pirmas irgi vykdomas tik kažkodėl niekas neišsitrina iš DB, nors if'as pavyksta.

Su formom irgi viskas ok.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Mysql_error nieko nemeta?

P.S. patariu rašyt taip:

mysql_query("DELETE FROM `users` WHERE `username`='$nickas'") or die (mysql_error());

Pabandyk dar phpMyAdmin panel'ėje tokį patį įrašą padaryti. Galimas dalykas, kad neranda tokių įrašų su $nickas kintamuoju.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Jei įvedu eilutę į phpmyadmin -- viskas veikia...

Vis dėlto, įmesiu pilną skriptą, gal kur kitoj vietoj kas nors blogai... :/

 

 

<?php
include('config.php');
$db = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD); 
mysql_select_db(DB_DATABASE, $db);
$nickas = $_POST['nickas'];
$uzk = "SELECT `username` FROM `users` WHERE `username`='$nickas'";
$uzkl = mysql_query($uzk);

if(mysql_num_rows($uzkl) !== 0)
{
echo "<div align='center'>";
echo "<br />";
echo 'Zaidejas<b> ' .$nickas. ' </b>egzistuoja. Ar tikrai norite ji istrinti?
<br />
<br />
<form id="delete1" name="delete1" method="post" action="acp-dele.php">
 <table width="300" border="0" align="center" cellpadding="2" cellspacing="0">
<tr align="center">
  <td> </td>
  <td><input class="ba" type="submit" name="ok" value="TAIP" /></td>
</tr>
 </table>
</form>
<form id="delete0" name="delete0" method="post" action="acp-dele.php">
 <table width="300" border="0" align="center" cellpadding="2" cellspacing="0">
<tr align="center">
  <td> </td>
  <td><input class="ba" type="submit" name="no" value="NE" /></td>
</tr>
 </table>
</form>';
echo "</div>";
}
if(mysql_num_rows($uzkl) == 0) 
{
echo "<br />"; 
echo "<div align='center'>Tokio zaidejo nera!</div>";
}



if($_POST['ok'])
{
mysql_query("DELETE FROM `users` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `fx` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `fo` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `fr` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `f5` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `fr` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `l4` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `x6` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `rt` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `ac` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `r4` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `f1` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `fr` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `fg` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `fr` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `rg` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `xr` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `xt` WHERE `username`='$nickas'") or die (mysql_error());

echo "<br />";
echo "<div align='center'>";
echo "<b>Zaidejas istrintas sekmingai</b>";
echo "</div>";
}

if($_POST['no'])
{
echo "<br />";
echo "<div align='center'>";
die("<b>Si karta nieko netrinsim</b>");
echo "</div>";
}
?>

Nuoroda į pranešimą
Dalintis kituose puslapiuose

if(isset($_POST['ok'])){
if(isset($_POST['no'])){

 

arba

 

<td><input class="ba" type="submit" name="delete" value="TAIP" /></td>
<td><input class="ba" type="submit" name="delete" value="NE" /></td>

if($_POST['delete']=='TAIP'){

}

if($_POST['delete']=='NE'){

}

 

Beto tavo kodas yra bukas,as galiu padaryt POST requesta i tavo scripta su betkokiu nicku ir ji istrint.

Redagavo ecash
Nuoroda į pranešimą
Dalintis kituose puslapiuose
Tom teisingai sako, paspaudus patvirtinimą, kad nori ištrinti, nebelieka $_POST['nickas'], tai vienas iš variantų - naudot hidden field'ą

 

Arba tiesiog:

<form id="delete1" name="delete1" method="post" action="">
<form id="delete0" name="delete0" method="post" action="">

Nuoroda į pranešimą
Dalintis kituose puslapiuose

<?php
include('config.php');
$db = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD); 
mysql_select_db(DB_DATABASE, $db);
$nickas = $_POST['nickas'];
$uzk = "SELECT `username` FROM `users` WHERE `username`='$nickas'";
$uzkl = mysql_query($uzk);

if(mysql_num_rows($uzkl) !== 0)
{
echo "<div align='center'>";
echo "<br />";
echo 'Zaidejas<b> ' .$nickas. ' </b>egzistuoja. Ar tikrai norite ji istrinti?
<br />
<br />
<form id="delete1" name="delete1" method="post" action="acp-dele.php">
 <table width="300" border="0" align="center" cellpadding="2" cellspacing="0">
<tr align="center">
  <td> </td>
  <td><input class="ba" type="submit" name="delete" value="TAIP" /></td>
  <td><input type="hidden" name="pas" value="pas" /></td>
</tr>
 </table>
</form>
<form id="delete0" name="delete0" method="post" action="acp-dele.php">
 <table width="300" border="0" align="center" cellpadding="2" cellspacing="0">
<tr align="center">
  <td> </td>
  <td><input class="ba" type="submit" name="delete" value="NE" /></td>
  <td><input type="hidden" name="pas1" value="pas1" /></td>
</tr>
 </table>
</form>';
echo "</div>";
}
if(mysql_num_rows($uzkl) == 0) 
{
echo "<br />"; 
echo "<div align='center'>Tokio zaidejo nera!</div>";
}



if($_POST['del'])
{
mysql_query("DELETE FROM `users` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `fox` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `fxo` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `fxr` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `fz5` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `fzr` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `lx4` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `lx6` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `mrt` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `rac` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `rb4` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `uf1` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `ufr` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `xfg` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `xfr` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `xrg` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `xrr` WHERE `username`='$nickas'") or die (mysql_error());
mysql_query("DELETE FROM `xrt` WHERE `username`='$nickas'") or die (mysql_error());

echo "<br />";
echo "<div align='center'>";
echo "<b>Zaidejas istrintas sekmingai</b>";
echo "</div>";
}

if($_POST['del1'])
{
echo "<br />";
echo "<div align='center'>";
die("<b>Si karta nieko netrinsim</b>");
echo "</div>";
}
?>

 

Dabar tiesiog parašo, kad "tokio zaid. nera", nors jis yra. Ir viskas... :/

Nuoroda į pranešimą
Dalintis kituose puslapiuose
Arba tiesiog:

<form id="delete1" name="delete1" method="post" action="">
<form id="delete0" name="delete0" method="post" action="">

Na gal aš kažką ne taip suprantu, bet juk pirmą kartą užkrovus script'ą, jis iš kito script'o formos gauna $_POST['nickas'], o paspaudus delete, būtent šis temoje nurodytas script'as persikrauna, bet į jį post metodu nebeperduodamas kintamasis 'nickas', nes paprasčiausiai nėra field'o tokiu vardu šitam script'e.

 

Dabar tiesiog parašo, kad "tokio zaid. nera", nors jis yra. Ir viskas... :/

Aš kiek įsivaizduoju (nes pats dabar tik mokaus php ir rašau savo pirmąją TVS), tavo hidden field'ai turėtų abu būti:

<input type="hidden" name="nickas" value="' . $nickas . '" />

Redagavo Kapitalyst
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Truputį pataisiau kodą, gal veiks:

<?php
//include('config.php'); // nereiketu vykdyti tolimesne kodo daly, jei neturime prisijungimo duomenu prie duombazes:
require('config.php');

$db = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD); 
mysql_select_db(DB_DATABASE, $db);

//$nickas = $_POST['nickas'];
$nickas = mysql_real_escape_string($_POST['nickas']); // apsauga nuo sql injection
$uzk = "SELECT `username` FROM `users` WHERE `username`='$nickas'";
$uzkl = mysql_query($uzk);

if (mysql_num_rows($uzkl) > 0) {
echo "<div align='center'>";
echo "<br />";
echo 'Zaidejas<b> ' .$nickas. ' </b>egzistuoja. Ar tikrai norite ji istrinti?
<br />
<br />
<form id="delete1" name="delete1" method="post" action="acp-dele.php">
 <input type="hidden" name="nick" value="'.$_POST['nickas'].'" />
 <table width="300" border="0" align="center" cellpadding="2" cellspacing="0">
<tr align="center">
  <td> </td>
  <td><input class="ba" type="submit" name="delete" value="TAIP" /></td>
  <td><input class="ba" type="submit" name="delete" value="NE" /></td>
</tr>
 </table>
</form>';
echo "</div>";
} else {
echo "<br />"; 
echo "<div align='center'>Tokio zaidejo nera!</div>";
}



if (isset($_POST['delete'])) {
if ($_POST['delete'] == 'TAIP') {
	$nickas = mysql_real_escape_string($_POST['nick']);
	mysql_query("DELETE FROM `users`, `fox`, `fxo`, `fxr`, `fz5`, `fzr`, `lx4`, `lx6`, `mrt`, `rac`, `rb4`, `uf1`, `ufr`, `xfg`, `xfr`, `xrg`, `xrr`, `xrt` WHERE `username`='$nickas'") or die (mysql_error());
	/*mysql_query("DELETE FROM `users` WHERE `username`='$nickas'") or die (mysql_error());
	mysql_query("DELETE FROM `fox` WHERE `username`='$nickas'") or die (mysql_error());
	mysql_query("DELETE FROM `fxo` WHERE `username`='$nickas'") or die (mysql_error());
	mysql_query("DELETE FROM `fxr` WHERE `username`='$nickas'") or die (mysql_error());
	mysql_query("DELETE FROM `fz5` WHERE `username`='$nickas'") or die (mysql_error());
	mysql_query("DELETE FROM `fzr` WHERE `username`='$nickas'") or die (mysql_error());
	mysql_query("DELETE FROM `lx4` WHERE `username`='$nickas'") or die (mysql_error());
	mysql_query("DELETE FROM `lx6` WHERE `username`='$nickas'") or die (mysql_error());
	mysql_query("DELETE FROM `mrt` WHERE `username`='$nickas'") or die (mysql_error());
	mysql_query("DELETE FROM `rac` WHERE `username`='$nickas'") or die (mysql_error());
	mysql_query("DELETE FROM `rb4` WHERE `username`='$nickas'") or die (mysql_error());
	mysql_query("DELETE FROM `uf1` WHERE `username`='$nickas'") or die (mysql_error());
	mysql_query("DELETE FROM `ufr` WHERE `username`='$nickas'") or die (mysql_error());
	mysql_query("DELETE FROM `xfg` WHERE `username`='$nickas'") or die (mysql_error());
	mysql_query("DELETE FROM `xfr` WHERE `username`='$nickas'") or die (mysql_error());
	mysql_query("DELETE FROM `xrg` WHERE `username`='$nickas'") or die (mysql_error());
	mysql_query("DELETE FROM `xrr` WHERE `username`='$nickas'") or die (mysql_error());
	mysql_query("DELETE FROM `xrt` WHERE `username`='$nickas'") or die (mysql_error());*/

	echo "<br />";
	echo "<div align='center'>";
	echo "<b>Zaidejas istrintas sekmingai</b>";
	echo "</div>";
} else {
	echo "<br />";
	echo "<div align='center'>";
	die("<b>Si karta nieko netrinsim</b>");
	echo "</div>";
}
}
?>

Redagavo Tech
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Šaunuolis, Tech.

 

Viskas veikė kuo puikiausiai, išskyrus mysql eilutę, kur sugrūdai visus laukelius, kažkodėl metė error'ą dėl "WHERE='$nickas'", bet su tom 10 eilučių, kur parašiau viskas veikai puikiai ;).

 

Dėkui visiem už pagalbą. :)

 

Ir paskutinis kalusimas: kaip padaryt, kad paspaudus "TAIP", nebeišmestų "Tokio žaidėjo nėra"? :)

Redagavo v1per
Nuoroda į pranešimą
Dalintis kituose puslapiuose
Šaunuolis, Tech.

 

Viskas veikė kuo puikiausiai, išskyrus mysql eilutę, kur sugrūdai visus laukelius, kažkodėl metė error'ą dėl "WHERE='$nickas'", bet su tom 10 eilučių, kur parašiau viskas veikai puikiai ;).

 

Dėkui visiem už pagalbą. :)

 

Klaidingą žinutę parašiau. Tau ten su tais if else neteisingai išdėstyta.

EDIT: na manau pirmąjį if else blocką turėtum įdėt į dar vieną if'ą, t.y. jei patvirtinta, kad 'delete', tai nerodyti užklausimo, ar ištrinti vartotoją. Tai turėtum įdėt į

if (!isset($_POST['delete'])) { //pirmasis_if_else_blockas_tavo_kode }

Redagavo Kapitalyst
Nuoroda į pranešimą
Dalintis kituose puslapiuose
Daryk taip:

 

mysql_query("DELETE FROM `fox`,`fxo`,`fxr`,`fz5` WHERE `username`='$nickas'") or die (mysql_error());

 

NEreiks tiek daug uzklausu siust i duom baze

 

Žinau, bet jeigu taip darau, tai:

 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `username`='Blogis'' at line 1

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...