Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Skrypt rejestracji
slawo123
post 21.08.2008, 13:47:34
Post #1





Grupa: Zarejestrowani
Postów: 40
Pomógł: 1
Dołączył: 21.08.2008

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


Witam, od niedawna bawię się php, i postanowiłem napisać własnego CMS'a blinksmiley.gif
Napisałem między innymi skrypt rejestracji, ale nie wiem czy nie popełniłem w nim jakiś rażących błędów, oprócz tego że nie miesza się html'a z php.
Nie wiem również czy jest on zoptymalizowany i czy jest bezpieczny...

Proszę o szczere opinie, i wytykanie mi błędów. Nie śmiejcie się z nazewnictwa zmiennych i funkcji tongue.gif

Skrypt można przetestować pod tym adresem: http://e50.com.pl/test/register.php

A kod to: http://e50.com.pl/test/kod.txt

Za długi był by go wkleić tutaj tongue.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
peter13135
post 21.08.2008, 21:06:42
Post #2





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


niechce mi sie wszystkiego czytać, ale już widze pare błedów optymalizacji, a konkretnie na początku pobierasz z jednej tabeli nr 1 wartośc nr 1 a potem z tej samej tabeli wartosć nr 2, niemożesz wykonać raz zapytanie pobierając obie wartości?


--------------------
:)
Go to the top of the page
+Quote Post
slawo123
post 22.08.2008, 14:09:14
Post #3





Grupa: Zarejestrowani
Postów: 40
Pomógł: 1
Dołączył: 21.08.2008

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


Czyli w jaki sposób mam pobrać kilka rekordów z tabeli i zapisać je osobno w zmiennych?

Proszę o dalsze opinie.
Go to the top of the page
+Quote Post
rupek
post 22.08.2008, 18:27:42
Post #4





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

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


kurde, tego sie nie dało normalnie przeczytać, popraw formatowanie i wrzuć ponownie, a wtedy na pewno ludzie będą chętniej pomagać, zauważy się więcej błedów a i Tobie będzie się ten kod łatwiej poprawiać
Go to the top of the page
+Quote Post
slawo123
post 23.08.2008, 11:00:57
Post #5





Grupa: Zarejestrowani
Postów: 40
Pomógł: 1
Dołączył: 21.08.2008

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


Racja. http://www.wklejto.pl/8614

Czekam na sugestie...

Ok, to może inaczej...

Jak za pomocą jednego zapytania do mysql uzyskać osobno wartości z kilku rekordów? Za pewne przez pętlę, ale nie wiem jak potem te dane wyciągnąć...

Mam zapytania:

  1. <?php
  2. //odczyt nazwy domeny
  3. $zapytanie3 = @mysql_query("SELECT wartosc FROM `config` WHERE nazwa = 'domena'");
  4. $domena = @mysql_fetch_array($zapytanie3);
  5. $domena = $domena['wartosc'];
  6.  
  7. //odczyt ścieżki path
  8. $zapytanie2 = @mysql_query("SELECT wartosc FROM `config` WHERE nazwa = 'script_path'");
  9. $path = @mysql_fetch_array($zapytanie2);
  10. $path = $path['wartosc'];
  11.  
  12. //odczyt zawartości konfiguracji email
  13. $zapytanie1 = @mysql_query("SELECT wartosc FROM `config` WHERE nazwa = 'email'");
  14. $obecny_email = @mysql_fetch_array($zapytanie1);
  15. $obecny_email = $obecny_email['wartosc'];
  16. ?>
Go to the top of the page
+Quote Post
ferrero2
post 23.08.2008, 11:08:20
Post #6





Grupa: Zarejestrowani
Postów: 171
Pomógł: 32
Dołączył: 5.08.2008
Skąd: Lublin

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


Pętla while :

Jeśli np "nazwa" to u Ciebie 2-ga kolumna licząc od lewej (pierwsza kolumna ma index 0) to robisz tak
Kod
$zapytanie = "SELECT * FROM config";
$result = mysql_query($zapytanie);
while($row = mysql_fetch_array($result))
{
echo $row['1'] . '<br />';
}


Niewiem czy konkretnie o to chodzi.


--------------------
---------------------------
"Jeżeli trzeci dzień z rzędu nie chce Ci się pracować tzn że dziś jest ŚRODA !
Algorytmy , Programowanie , Tworzenie WWW - SPRAWDŹ
Go to the top of the page
+Quote Post
slawo123
post 23.08.2008, 11:49:50
Post #7





Grupa: Zarejestrowani
Postów: 40
Pomógł: 1
Dołączył: 21.08.2008

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


Ale ja nie chcę wyświetlać wyników tylko je przypisywać do różnych zmiennych.

Mam tabelę config a w niej 2 kolumny: nazwa i wartosc.

Rekordów mam 3.

I chcę w jednym zapytaniu pobrać wszystkie dane z tabeli i każdy rekord przypisać do innej zmiennej, tak jak poradził peter13135
Go to the top of the page
+Quote Post
golaod
post 23.08.2008, 11:59:17
Post #8





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

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


Wszystkie dane z tabeli SELECT * FROM tabela
Funkcja http://pl.php.net/manual/pl/function.eval.php
while($wynik = mysql_fetch_array($zapytanie)
eval("\$$wynik['nazwa']=$wynik['wartosc'];");

Dzieki temu stworza Ci sie 3 zmienne o nazwach jak w tabeli (chyba ze beda spacje) i wartosciach jak w tabeli.

Ten post edytował golaod 23.08.2008, 12:01:20
Go to the top of the page
+Quote Post
ferrero2
post 23.08.2008, 12:06:34
Post #9





Grupa: Zarejestrowani
Postów: 171
Pomógł: 32
Dołączył: 5.08.2008
Skąd: Lublin

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


To dodaj :
Kod
$zapytanie = "SELECT nazwa, wartosc FROM config";
  $result = mysql_query($zapytanie);
  $licznik = 1;
  while($row = mysql_fetch_array($result))
  {
$wartosc[$licznik] =$row['wartosc'];
  $nazwa[$licznik] = $row['nazwa'];
  licznik++;
  }


Ten post edytował ferrero2 23.08.2008, 12:08:35


--------------------
---------------------------
"Jeżeli trzeci dzień z rzędu nie chce Ci się pracować tzn że dziś jest ŚRODA !
Algorytmy , Programowanie , Tworzenie WWW - SPRAWDŹ
Go to the top of the page
+Quote Post
golaod
post 23.08.2008, 12:37:28
Post #10





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

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


@ferrero2 nie ucz go zlych nawykow
PHP jest sprytne i potrafi sam indeksowac tablice zatem wystarczy tylko $nazwa[]=$row['nazwa'],$wartosc[]=$row['wartosc']. A w ogole to po co mu dwie tablice do tego ?

Ten post edytował golaod 23.08.2008, 12:37:46
Go to the top of the page
+Quote Post
peter13135
post 25.08.2008, 13:00:16
Post #11





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


<?
$sql=@mysql_query("SELECT wartosc FROM `config` );
$row=mysql_fetch_array($sql);
$domena=$row['domena'];
$path = $row['script_path'];
$email=$row['email];
?>

zdaje sie że powinno być tak, jeśli źle to niech mnie ktoś poprawi
ale myśle że dobrze myśle więc napisałem co myślałem smile.gif smile.gif

edit, coś mi sie pomyliło, myślałem że masz inną strukture tabeli
w twoim przypadku powinno sie zastosować petle

$sql=@mysql_query("SELECT wartosc FROM `config` );
for($x=0,$x>3;$x++)
{
$row=mysql_fetch_array($sql);
$nazwa[$i]=row[wartosc];
}
no i $nazwa[0] to będzie domena
$nazwa[1] to patch
$nazwa[2] to email
(tak mi sie wydaje że tak być powinno, jak źle to poprawcie)

Ten post edytował peter13135 25.08.2008, 13:16:48


--------------------
:)
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 17:15