Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z przypisaniem zmiennej wartosci mysql_res
berciak
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 14.11.2005

Ostrzeżenie: (0%)
-----


Witam wszystkich,
Mam bardzo ciekawy problem.
Wykonuje zapytanie do bazy danych w pliku login.php po czym ustawiam zmienne globalne. Nastepnie w pliku profil.php odpalam query ktore pobiera te same dane i zapisuje je do zmiennych.

$sql = "SELECT * FROM users WHERE
email = '$email' AND haslo = PASSWORD('$haslo')";
$result = mysql_query($sql);

No i teraz sie zaczyna problem: bo przypisanie:

a) $imie = mysql_result($result,0,'imie');

Nie dziala, natomiast zauwazylem ze dziala

B) $$imie = mysql_result($result,0,'imie');

Nie pytajcie dlaczego, nie wiem po prostu wrzucalem kod na chybil trafil.

1 Pytanie: Dlaczego nie moge przypisac normalnie do zmiennej - ad.a choc wczesniej moglem to zrobi (login.php)

Teraz dalej wyswietlam te dane w formularzu za pomoca

<tr><td align="right"><b>Imi&ecirc;:</b> </td><td><input type="text" name="imie" value="<?echo $imie?>"></td>

I tutaj probowalem wszystkiego $imie i $$imie oba nie dzialaja.
Natomiast co ciekawe dziala bezposrednie:
<?echo mysql_result($result,0,'imie')?>

2 Pytanie: Jak zrobic by wyswietlic to w formularzu

Pomozcie bo spedzilem nad tym wiele bezsennych nocy a moi userzy sie powoli zaczynaja nieceirpliwic ze nie dziala zmiana profila.

Ten post edytował berciak 14.11.2005, 00:41:16
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
berciak
post
Post #2





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 14.11.2005

Ostrzeżenie: (0%)
-----


Cytat(nospor @ 2005-11-14 12:51:07)
1. Tak wiec nasuwa sie bardzo proste wyjasnienie: masz w bazie kilka rekordów o tym samym loginie i hasle i nie wyswietla ci imienia bo ty go warunkujesz tym warunkiem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

2. Daj se wiec wyswieltanie imienia bez warunku:
  1. <?php
  2.  
  3. $imie = mysql_result($result,0,'imie');
  4. echo 'Imie: '. $imie;
  5.  
  6. ?>


3. no i daj te mysql_close() gdzie na koncu

Dzieki wam wszystkim za pomoc, widze ze ten problem tez nie jest dla was czyms oczywistym a tera jedziem z odpowiedziami.

1. Nie mam zduplikowanych rekordow w bazie, sa sprawdzane przy dopisywaniu, a zeby miec pewnoscx wykonalem to zapytanie w Phpmyadmin i dostalem dokladnie jeden row.

2. Zmienilem i bez zmian, nie wyswietla zawartosci zmiennej $imie.

3. przenioslem przed ?> bez zmian

Jeszcze raz kod na prosbe nospora:

  1. <? // profil.php
  2.  
  3. include("include/common.php");
  4. include("include/db.php");
  5.  
  6. if (!isset($_POST['submitok'])):
  7. // Display the user profile
  8.  
  9. $email = $_SESSION['email'];
  10. $haslo = $_SESSION['haslo'];
  11.  
  12. dbConnect("etcg_etcg");
  13. $sql = "SELECT * FROM users WHERE 
  14. email = '$email' AND haslo = PASSWORD('$haslo')";
  15. $result = mysql_query($sql);
  16. if (!$result) {
  17. error('Pojawil sie blad bazy danych podczas sprawdzania '.
  18. 'informacji przy logowaniu.nJesli ten blad bedzie sie powtarzal, prosze '.
  19. 'o kontakt berto@etcg.pl.');
  20. }
  21.  
  22. $imie = mysql_result($result,0,'imie');
  23. echo "Witaj : ", $imie;
  24.  
  25. ?>
  26. <center>
  27. <h4>Twoj Profil: </h4>
  28. <form method="post" action="index.php?action=Profil"> 
  29. <table cellspacing="0" cellpadding="3" align="center" border="1" bordercolor="#333333" bgcolor="#272424">
  30. <tr><td align="right" width="98">
  31. <td align="right" width="98"><b>Nick:</b> </td><td><input type="text" name="nick" value="<?=$nick?>"></td></tr>
  32. <tr><td align="right"><b>Imię:</b> </td><td><input type="text" name="imie" value="<?=$imie?>"></td>
  33. <tr><td colspan="2"><center><b>Pogrubienie</b> oznacza pola obowiązkowe!</center></td>
  34. <td colspan="2"><center><input type="Submit" name="submitok" value=" ZMIEN "></center></td>
  35. </td></tr>
  36. </table>
  37. </form>
  38. </center>
  39. <?
  40. endif;
  41. ?>


i output:

(IMG:http://www.etcg.pl/images/php/outputdolar.JPG)

output przy zmienionym kodzie:

  1. <?php
  2. $$imie = mysql_result($result,0,'imie');
  3. echo "Witaj : ", $$imie;
  4. ?>


(IMG:http://etcg.pl/images/php/outputdwadolary.JPG)

Ten post edytował berciak 14.11.2005, 16:18:27
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 20:15