| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
elbifo
Data înscrierii: 30/Iun/2003
Mesaje: 9
|
| Trimis: Mie Iul 09, 2003 9:50 am Titlul subiectului: Cum fac o STERGERE ? |
|
|
Salut,
Vreau sa sterg un utilizator dupa ce se autentifica prin nume si parola, dar imi da eroarea urmatoare:"Notice: Undefined index: nick in c:\program files\apache group\apache\htdocs\delete.php on line 13
".
Mai jos sunt scripturile pe care le folosesc:
stergere.php
<html>
<head>
<title>No title</title>
<meta name="generator" content="Namo WebEditor v5.0(Trial)">
</head>
<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
<p>&</p>
<form action="/sterge.php" method="post">
<table border="0" cellpadding="0" cellspacing="0" bordercolor="#111111" width="100%">
<tr>
<td width="100%" bgcolor="#FF9900" height="22" colspan="2">
<p style="margin-left: 10">
<b><font face="Verdana" size="3" color="#FFFFFF">Mai ceva ca &Bi&</font></b></td>
</tr>
<tr>
<td width="100%" bgcolor="#FFE3BB" colspan="2">
<p style="margin-left: 10; margin-right: 10">
<font face="Verdana" size="2"><br>Pentru stergere trebuie sa va autentificati introducand nick-ul si parola dvs.<br>&</font></td>
</tr>
<tr>
<td width="15%" bgcolor="#FFE3BB">
<p style="margin-left: 10">
<b><font face="Verdana" size="3">Nick name:</font></b></td>
<td width="85%" bgcolor="#FFE3BB">
<input type="text" name="nick" maxlength="15"></td>
</tr>
<tr>
<td width="15%" bgcolor="#FFE3BB">
<p style="margin-left: 10">
<b><font face="Verdana" size="3">Parola: </font></b></td>
<td width="85%" bgcolor="#FFE3BB">
<input type="password" name="parola" maxlength="10"></td>
</tr>
<tr>
<td width="33%" bgcolor="#FFE3BB">
<p style="margin-left: 10">
<font face="Verdana" size="2"><br>
<br>
&</font></td>
<td width="67%" bgcolor="#FFE3BB">
<font face="Verdana" size="2"><input type="submit" name="submit" value="Sterge"> <input type="reset" name="reset" value="Reset"></font></td>
</tr>
</table>
</form>
</body>
</html>
******************
sterge.php
<html>
<head>
<title>No title</title>
<meta name="generator" content="Namo WebEditor v5.0(Trial)">
</head>
<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
<p>&</p>
<?php
$linkID=mysql_connect("localhost", "", "");
mysql_select_db("george", $linkID);
$sql="SELECT * FROM test WHERE nick='$nick' and parola='$parola' order by nick asc";
$resursa=mysql_query($sql) or die("Nu pot executa interogarea");
if (mysql_num_rows($resursa)>0)
{
print "Sigur doriti sa stergeti acest nick din baza de date ?";
?>
<b><A href="delete.php">DA </a><A href="iform.php">NU
</a></b><?php
}
else
{
print "Sorry";
}
?>
</body>
</html>
*********
delete.php
<html>
<head>
<title>No title</title>
<meta name="generator" content="Namo WebEditor v5.0(Trial)">
</head>
<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
<p>&</p>
<?php
mysql_connect("localhost", "", "");
mysql_select_db("george");
$sql="delete FROM test WHERE nick=".$_POST['nick'];
mysql_query($sql) or die("Nu pot executa interogarea");
?>
<A href="iform.php">Vezi lista cu utilizatori ramasi</a><br>
<A href="form.php">Creeaza un nou utilizator</a><br>
</body>
</html>
Astept o solutionare rapida. :idea:
PS: folosesc ca sistem de operare win98 si php 1.3.27 |
|
| Sus |
|
Constantin
Data înscrierii: 20/Sep/2002
Mesaje: 236
|
| Trimis: Mie Iul 09, 2003 10:55 am Titlul subiectului: |
|
|
In linia 13 din delete.php $_POST['nick'] nu este definit.
Aici ajungi din pagina sterge.php apasand un link simplu.
Trebuie sa modifici in sterge.php sa transmiti si variabila nick
(href=delete.php?nick=ce_valoare_vrei) iar in delete.php o vei vedea sub forma $_GET["nick"]. |
|
| Sus |
|
elbifo
Data înscrierii: 30/Iun/2003
Mesaje: 9
|
| Trimis: Mie Iul 09, 2003 9:48 pm Titlul subiectului: Si totusi nu merge "stergerea" |
|
|
Salut,
Am pus in sterge.php href=delete.php?nick='$nick' si in linia 13 din delete.php $_GET["nick"], dar degeaba. Acuma nu imi mai da ca ar exista vreo eroare la linia 13, dar imi spune ca nu poate sa execute interogarea.
Ce trebuie sa mai fac? :( :idea: |
|
| Sus |
|
Constantin
Data înscrierii: 20/Sep/2002
Mesaje: 236
|
| Trimis: Mie Iul 09, 2003 9:59 pm Titlul subiectului: |
|
|
poate ai register_globals = Off si atunci trebuie sa pui
delete.php?nick=$_POST["nick"] |
|
| Sus |
|
biban
Data înscrierii: 13/Apr/2003
Mesaje: 204
Locație: Giurgiu
|
| Trimis: Sâm Iul 12, 2003 10:26 am Titlul subiectului: |
|
|
De ce in linia:
$sql="delete FROM test WHERE nick=".$_POST['nick'];
ai pus punctul inainte de $_POST (sau ,ma rog, $_GET)? |
|
| Sus |
|
biban
Data înscrierii: 13/Apr/2003
Mesaje: 204
Locație: Giurgiu
|
| Trimis: Sâm Iul 12, 2003 3:58 pm Titlul subiectului: |
|
|
aaaa. am observat. concatenai doua siruri.
Nu trebuia sa ai ceva de genul:
$sql="delete FROM test WHERE nick='".$_POST['nick']."'";
???
sau poate
$sql="delete FROM test WHERE nick=\"$_POST['nick']\"";
????
Cand formulezi interogarea trebuie sa ai valoarea lui nick intre ghilimele pt ca nu e un numar, e un shir.
da un echo $sql in loc sa lansezi in executzie interogarea shi vezi daca arata bine! |
|
| Sus |
|
biban
Data înscrierii: 13/Apr/2003
Mesaje: 204
Locație: Giurgiu
|
| Trimis: Sâm Iul 12, 2003 4:38 pm Titlul subiectului: |
|
|
SHI INCA CEVA:
Am greshit mai sus
nu o sa mearga o expresie de genul $sql=" bla bla bla $_POST['nick']"!!!
nu potzi baga intr-un shir un element dintr-un array decat prin concatenarea lui cu shirul
Foloseshte:
$sql="delete FROM test WHERE nick='".$_POST['nick']."'";
sau
$sql="delete FROM test WHERE nick='$nick'";
sau cum vrei tu.
SPER ca intelegi varza asta care am facut-o!
:D |
|
| Sus |
|
Constantin
Data înscrierii: 20/Sep/2002
Mesaje: 236
|
| Trimis: Sâm Iul 12, 2003 7:20 pm Titlul subiectului: |
|
|
$sql="delete FROM test WHERE nick='$nick'";
Asta nu va merge. Daca pui o variabila $nick intre apostrof, va tipari exact $nick, in loc de continutul variabilei $nick. |
|
| Sus |
|
biban
Data înscrierii: 13/Apr/2003
Mesaje: 204
Locație: Giurgiu
|
| Trimis: Dum Iul 13, 2003 4:41 pm Titlul subiectului: |
|
|
Am o veste buna pentru tine:MERGE!!!
Merge pt ca am folosit intai ".
" sunt mai puternice decat '; scrie si in documentatzia PHP.
daca folosesti echo '$nick' va tipari shirul de caractere $nick
daca foloseshti echo "'$nick'" va tipari valoarea lui $nick intre ghilimele simple.
Nu am la indemana documentatzia ca sa-tzi fac o trimitere exact acolo unde scrie.
Oricum incearca un script de genul:
============
<?
echo "TEST<br>";
$nic="gigi";
echo "sajhsjah '$nic'";
?>
=================
shi o sa primesti rezultatul:
=================
TEST
sajhsjah 'gigi'
=================
In documentatzie cauta ceva cu
magic cuotes
shi o sa vezi exact cum merge. daca nu gaseshti scrie-mi shi caut eu. |
|
| Sus |
|
Constantin
Data înscrierii: 20/Sep/2002
Mesaje: 236
|
| Trimis: Dum Iul 13, 2003 5:17 pm Titlul subiectului: |
|
|
Ai dreptate,
echo 'sajhsjah "$nic"';
produce rezultatul neasteptat :) |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |