problema id in adresa URL

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
Avatar utilizator
trif
Mesaje:500

problema id in adresa URL

salut, am si eu o mica problema si nu stiu cum sa o rezolv, chit ca am incercat cred ca cateva ore si nu stiu unde am gresit. am codul acesta:

Cod: Selectaţi tot

<?php
$id=$_GET['id'];
if(isset($_POST['submit'])) {
// Se preiau datele
$nume=$_POST['nume'];
$prenume=$_POST['prenume'];
// Se face Update
$cerereSQL = "UPDATE utilizatori SET nume='$nume', prenume='$prenume' WHERE id='$id' LIMIT 1";
mysql_query($cerereSQL) or die("NU se poate adauga!");
}
// Se face Select-ul pt. afisarea lor
$cerereSQL = 'SELECT * FROM utilizatori WHERE id="'.$_GET['id'].'"'; 
echo $cerereSQL;
$rezultat = mysql_query($cerereSQL);
$num=mysql_num_rows($rezultat);
$rand = mysql_fetch_assoc($rezultat);
echo '<br>--- ';
echo $id;
  echo '<br>numele este ';
  echo $rand['nume'];
  echo  '<form action="pagina_editare_administrator.php?id="$id method="post">';
  print  '<left>';
  print  '<table  border="0">';
  print  '<tr > <th width="110"><div align="left"> Nume: </th> <th> <div align="left"><input name="nume" type="text" value="'.$rand['nume'].'" > </div></th> ';
  print  '<tr> <th width="110"><div align="left"> Prenume: </th> <th><div align="left"> <input name="prenume" type="text" value="'.$rand['prenume'].'" > </div> </th>';
  print  '</tr>';
  print  '</table><br><br>';
  print  '<left>';
  print '<div align="right"><input type="submit" value="Salveaza"> </div>';
  print '</form>'; 
?>
si cand ii dau Salveaza nu imi mai arata nimic pt ca in bara NU imi mai arata pagina_editare_administrator.php?id=1 ci pagina_editare_administrator.php?id= adica nu mai imi mai preaia ID-ul. nu stiu unde am gresit, uitati-va si voi si ajutati-ma va rog. va multumesc anticipat, cu stima trif
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif

MarPlo Mesaje:4343
Salut.
E gresit la adaugarea $id in adresa URL de la action. Incearca sa inlocuesti acea linie cu asta:

Cod: Selectaţi tot

echo '<form action="pagina_editare_administrator.php?id='. $id. '" method="post">';

trif Mesaje:500
salut, merge multumesc mult de tot. a mai aparut o problema:
am 2 pagini:
1. utilizatori.php care imi trimite linkul acesta:

Cod: Selectaţi tot

pagina_editare_administrator.php?id='.$rand['id'].'">'.$rand['utilizator'].'</a> <h6>(<font color="'.$rand['culoare'].'">'.$rand['rang'].'</font>)
==>
pagina_editare_administrator.php?id=2(de exemplu)
2. pagina_editare_administrator.php

Cod: Selectaţi tot

<?php
$id=$_GET['id'];
// Se preiau datele
$nume=$_POST['nume'];
$prenume=$_POST['prenume'];
$rang=$_POST['rang'];
// Se face Update
if(isset($_POST['nume'])) {
$SQL = "UPDATE utilizatori SET nume='".$nume."', prenume='".$prenume."', ranguri='".$rang."' WHERE id='".$id."' LIMIT 1";
mysql_query($SQL) or die("NU se poate adauga!");
}
// Se face Select-ul pt. afisarea lor
$cerereSQL = 'SELECT * FROM utilizatori WHERE id="'.$_GET['id'].'"'; 
$rezultat = mysql_query($cerereSQL);
$num=mysql_num_rows($rezultat);
$rand = mysql_fetch_assoc($rezultat);
  echo  '<form action="pagina_editare_administrator.php?id='.$id.'" method="post">';
  print  '<left>';
  print  '<table  border="0">';
  print  '<tr > <th width="110"><div align="left"> Nume: </th> <th> <div align="left"><input name="nume" type="text" value="'.$rand['nume'].'" > </div></th> ';
  print  '<tr> <th width="110"><div align="left"> Prenume: </th> <th><div align="left"> <input name="prenume" type="text" value="'.$rand['prenume'].'" > </div> </th>';
  print  '<tr> <th width="110"><div align="left"> Rang: </th> <th><div align="left"> <input name="rang" type="text" value="'.$rand['ranguri'].'" > </div> </th>';
  print  '</tr>';
  print  '</table><br><br>';
  print  '<left>';
  print '<div align="right"><input type="submit" value="Salveaza"> </div>';
  print '</form>'; 
?>
care imi preia ID-ul si in functie de id imi "alege" utilizatorul, care teoretic ar trebui sa imi aleaga dar nu imi alege corect daca ii dau urmatoarele conditii:
a. daca este un singur admin, moderator si utilizator (adica unul din fiecare rang) ==> imi alege corect
b. daca pun 2 admin si unul din ranguri diferite, apare problema ca nu imi mai alege corect ci doar pe primul care este selectat pe acela imi alege tot timpul nu pe cel pe care il vreau eu.
de exemplu:
admin--> Alex
moderator--> Ionel
utilizator --> Alexandra
**** varianta de sus merge bine
dar daca mai pun un admin sau moderator sau utilizator (nu conteaza)
admin--> Bogdan
**** cand ii dau click pe admin-->Bogdan imi afiseaza datele de la admin --> Alex. si asta nu este bine nu stiu de ce.
sper ca ati inteles problema, astept raspuns, multumesc anticipat, cu stima trif
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif

MarPlo Mesaje:4343
Salut
Cauza ar ptea fi urmatoarea. Findca se face selectul cu conditia "WHERE id='".$id."", selecteaza randul cu id-ul 2.
Ori in adresa URL folosesti id-ul acelui admin, ori select-ul sa fie facut in functie de numele lui, conditia, WHERE nume='".$nume."".

trif Mesaje:500
salut, multumesc pentru raspuns, mi-am dat seama din raspunsul pe care mi l-ai dat tu, am facut cum ai zis tu si am pus si aceeasi problema a aparut pt ca in bd aveam mai multi de "trif" si atunci pe primul care il gasea il punea acolo. m-am gandit si am pus $utilizator si sa imi preaia dupa utilizator pt ca este unicat. faza interesanta ca cu $utilizator imi merge si este unicat dar intrebarea vine cum de nu merge si cu $id ca tot unicat este pt fiecare utilizator? multumesc pentru raspuns, cu stima trif
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif

MarPlo Mesaje:4343
Nu stiu sigur de ce cu id nu merge, dar ca idee, probabil fiindca in baza de date coloanna id e de tip numeric, iar in Select valoarea pt. id e adaugata intre ghilimele simple, rezultand a fi sir (string).

trif Mesaje:500
aha, deci multumesc. sa sti ca id in bd este INT. si de aceea nu imi merge. multumesc mult. cu stima trif
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif

Subiecte similare