Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z mysql_fetch_row/array
mon
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 8.05.2009

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


Witam, powiem szczerze, że tylko powieszchownie przejżałam forum i nie znalazłam odpowiedzi na mój nurtujący mnie już sporo czasu problem.
Otórz pisze aplikacje w której istnieje możliwość logowania co za tym idzie rejestracji użytkowników. Aby ułatwić zakładanie kont chcę dać możliwość wczytywania pliku z konwecja zapisywanych w nim danych " imie; nazwisko ; mail ; haslo"

rejestracja poprzez pola do wypełniania działa bez zarzutu jednak z tą wykorzystująca plik nie mogę sobie poradzić.
Kod jest taki:
CODE

<?php include("config.php");
?>

<?php
//czytanie z 1 pliku
$plik = implode('', file('nazwa.txt'));
$tablica_z_danymi_do_logowania = explode(";", $plik);
//echo $tablica_z_danymi_do_logowania[0];
//ile bedzie osob do zalogowania, indeksowane od 0
$ilosc_wierszy_w_pliku = (count($tablica_z_danymi_do_logowania)- 1 ) % 7;
//echo $ilosc_wierszy_w_pliku;
$ilosc_danych_w_pliku = count($tablica_z_danymi_do_logowania)-1;
//echo $ilosc_danych_w_pliku;

for($i=0 ; $i<$ilosc_wierszy_w_pliku ; $i++)
{
//wyliczanie nr maila ktory w pliku znajduje sie odpowiednio na pozycjach 2, 10, 18...(($i*7) + $i + 2)
$nr_mail = (($i*7) + $i + 2);

//sprawdzanie czy nie ma przypadkiem juz takiego samego maila w bazie
$sprawdz = $tablica_z_danymi_do_logowania[$nr_mail];
$result = mysql_query("SELECT mail FROM login WHERE mail = '{$sprawdz}'") or die("BŁĄD W ZAPYTANIU");

$row = mysql_fetch_row($result)or die('blad');
// if ($sprawdz == $row[0])
// {
// echo 'podany email: '; echo $row[0]; echo ' istnieje juz w naszej bazie';
// }
}
?>


I głównie chodzi o to, że
CODE

$row = mysql_fetch_row($result)or die('blad');
wypisuje ten "blad"

czy ktoś mógłby mi pomóć? Zapewne jest to jakiś szczegół ale ślęcze nad tym juz pare godzin i nie moge dojść co robię źle
Go to the top of the page
+Quote Post
3 Stron V   1 2 3 >  
Start new topic
Odpowiedzi (1 - 19)
okitoki
post
Post #2





Grupa: Zarejestrowani
Postów: 214
Pomógł: 18
Dołączył: 25.04.2009

Ostrzeżenie: (20%)
X----


skasuj ten die i niech pokarze oryginalny z mysql-a błąd. poza tym gdzie się łączysz z bazą danych, domniemam że w pliku config.php (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

plik sobie daruj, bo to nie jest najlepsze miejsce na trzymanie takich danych jak login hasło i email, szczególnie na tej lokalizacji co obecnie się znajduje

jak już cokolwiek mysql ci wypluje z tego pytania
$result = mysql_query("SELECT mail FROM login WHERE mail = '{$sprawdz}'") or die("BŁĄD W ZAPYTANIU");

to już ten warunek jest zbędny, ponieważ baza jak coś zwróci to akurat ten email
if ($sprawdz == $row[0])
Go to the top of the page
+Quote Post
mon
post
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 8.05.2009

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


wykasowałam "or die();" ale nie wypisuje się żaden błąd ;/

co do pliku, mój promotor zarzyczył sobie żeby zrobić właśnie takie ułatwienie

tak, z bazą łączę sie poprzez plik config.php
Go to the top of the page
+Quote Post
okitoki
post
Post #4





Grupa: Zarejestrowani
Postów: 214
Pomógł: 18
Dołączył: 25.04.2009

Ostrzeżenie: (20%)
X----


pokaż plik config i na początek kodu daj polecenie

error_reporting(E_ERROR | E_WARNING | E_PARSE);
Go to the top of the page
+Quote Post
mon
post
Post #5





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 8.05.2009

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


config.php
CODE

<?php session_start();
//tutaj musisz wpisa�
$db_login = "root"; // login do serwera mySQL
$db_pass = ""; // haslo do bazy mySQL
mysql_connect("localhost","root","") or die(mysql_error()."Nie mozna polaczyc sie z baza danych. Prosze chwile odczekac i sprobowac ponownie.");
mysql_select_db("nokor") or die(mysql_error()."Nie mozna wybrac bazy danych.");
?>


error_reporting(E_ERROR | E_WARNING | E_PARSE); nadal nie wypisało żadnego błędu
Go to the top of the page
+Quote Post
ndx
post
Post #6





Grupa: Zarejestrowani
Postów: 17
Pomógł: 6
Dołączył: 11.11.2005

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


po mysql_query daj

  1. <?php
  2. ?>
Go to the top of the page
+Quote Post
mon
post
Post #7





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 8.05.2009

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


nadal nic nie wypisuje, pusta strona się odpala

CODE

$result = mysql_query("SELECT mail FROM login WHERE mail = '{$sprawdz}'") or die("BŁĄD W ZAPYTANIU");
if($result != false)
{

echo 'istnieje podany mail';
}


niby jest okej, gdyz mam w pliku 3 maile ktore istnieja juz w bazie jezeli dobrze rozumiem ze mysql_query wyrzuca true gdy znajdzie porownanie w bazie z zadanym zapytaniem

Ten post edytował mon 8.05.2009, 16:56:21
Go to the top of the page
+Quote Post
piotrooo89
post
Post #8


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




a zrób tak:

  1. <?php
  2. $result = mysql_query("SELECT mail FROM login WHERE mail = '".$sprawdz."'") or die(mysql_error());
  3. ?>


Ten post edytował piotrooo89 8.05.2009, 16:53:16
Go to the top of the page
+Quote Post
mon
post
Post #9





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 8.05.2009

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


Cytat(piotrooo89 @ 8.05.2009, 17:52:45 ) *
a zrób tak:

  1. <?php
  2. $result = mysql_query(&#092;"SELECT mail FROM login WHERE mail = '\".$sprawdz.\"'\") or die(mysql_error());
  3. ?>


nie wypisało żadnego błędu, nadal jednak nie działa ;/
Go to the top of the page
+Quote Post
okitoki
post
Post #10





Grupa: Zarejestrowani
Postów: 214
Pomógł: 18
Dołączył: 25.04.2009

Ostrzeżenie: (20%)
X----


bo on w ogóle błędów nie pokazuje, gdzieś pewnie jest błąd typu fatal np na początku kodu, którego nie pokazuje wiec dale już serwer ignoruje skrypt

wiec zacznijmy od początku, gdzie to uruchamiasz na jakim serwerze, pokaz cały kod z tabelami i danymi, spróbuje to uruchomić u siebie
Go to the top of the page
+Quote Post
mon
post
Post #11





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 8.05.2009

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


ale gdy odkomentowuje kolejne echa to wszystko wypisuje, przestaje wypisywac po $row = mysql_fetch row($result); także juz nie wiem czy wcześniej jest źle

hmmm kod to okolo 15plikow ;/

korzystam z wampa czyli mysql a odpalam na apachu
Go to the top of the page
+Quote Post
okitoki
post
Post #12





Grupa: Zarejestrowani
Postów: 214
Pomógł: 18
Dołączył: 25.04.2009

Ostrzeżenie: (20%)
X----


ja tu błędów nie widzę, nie wiem nawet czego się czepić, a co do configa, to powinny sie tam znajdować tylko zmienne systemowe, a nie do tego części kodu, zmień promotora (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
mon
post
Post #13





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 8.05.2009

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


hehe to nie jego wina tylko moja (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) pisze w php kompletnie nie mając o nim pojęcia i ucząc się z manuali, no i dlatego tez nie wiem dlaczego mi to nie działa ;/ w każdym bądź razie dzięki za wielkie chęci (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) najlepiej będzie jak pójde do niego, bo jeśli on nie będzie wiedział co z tym zrobić to niby skąd ja mam wiedzieć (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
okitoki
post
Post #14





Grupa: Zarejestrowani
Postów: 214
Pomógł: 18
Dołączył: 25.04.2009

Ostrzeżenie: (20%)
X----


to masz serwer na localhost ?
Go to the top of the page
+Quote Post
mon
post
Post #15





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 8.05.2009

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


tak
Go to the top of the page
+Quote Post
okitoki
post
Post #16





Grupa: Zarejestrowani
Postów: 214
Pomógł: 18
Dołączył: 25.04.2009

Ostrzeżenie: (20%)
X----


baza i tabela taka istnieje w mysql (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ,
Go to the top of the page
+Quote Post
mon
post
Post #17





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 8.05.2009

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


tak wszystko jest, np. taki kod który rejestruje użytkownika poprzez wpisywanie kolejno w pola imienia, nazwiska, maila i hasla działa: przepraszam za to kodowanie ;/
CODE


<?php include("config.php");
?>
<?php
$imie = $_POST['imie'];
$nazwisko = $_POST['nazwisko'];
$mail = $_POST['email'];
$haslo = $_POST['haslo'];
$stanowisko = $_POST['stanowisko'];
$upowaznienie = $_POST['upowaznienie'];
$departament = $_POST['departament'];
$firma = $_POST['firma'];

//ustawiana na false gdy jakies pole było puste, jesli jest true można wykonać zapytanie
$puste_pole = true;

//sprawdzenie czy wszystkie pola zostały wypełnione
if(!$imie OR empty($imie))
{
echo 'Wypełnij pole z imieniem';
$puste_pole = false;
exit;
}
else if(!$nazwisko OR empty($nazwisko))
{
echo 'Wypełnij pole z nazwiskiem';
$puste_pole = false;
exit;
}
else if(!$mail OR empty($mail))
{
echo 'WypeĹ‚nij pole z mailem (stanie siÄ‚Â„Ă˘Â„Ë˜ on loginem!)';
$puste_pole = false;
exit;
}
else if(!$haslo OR empty($haslo))
{
echo 'Nadaj uĚĽytkownikowi hasĹ‚o dostÄ‚Â„Ă˘Â„Ë˜pu';
$puste_pole = false;
exit;
}
else if(!$stanowisko OR empty($stanowisko))
{
echo 'Wypelnij pole ze stanowiskiem';
$puste_pole = false;
exit;
}
else if(!$upowaznienie OR empty($upowaznienie))
{
echo 'Wybierz upowaĚĽnienie';
$puste_pole = false;
exit;
}
else if(!$departament OR empty($departament))
{
echo 'Wypelnij pole z nazwÄ… departamentu';
$puste_pole = false;
exit;
}
else if(!$firma OR empty($firma))
{
echo 'Wypelnij pole z nazwÄ… firmy';
$puste_pole = false;
exit;
}
else if( $puste_pole == true)
{
//sprawdzanie czy nie ma przypadkiem juz takiego samego maila w bazie
$sprawdz_mail = mysql_query("SELECT mail FROM login WHERE mail = '$mail'");
$result = mysql_fetch_array($sprawdz_mail, MYSQL_NUM);
if ($mail == $result[0])
{
echo 'podany email: '; echo $mail; echo ' istnieje juz w naszej bazie';
}
else
{
//wpisanie danych do tabeli login
$sql_into_login = mysql_query( "INSERT INTO login VALUES (NULL , '$imie', '$nazwisko', '$mail', '$haslo', '$upowaznienie')")
or die("błąd: ".mysql_error());

//wpisanie danych do tabeli uzytkownik
$sql_into_uzytkownik = mysql_query(" INSERT INTO uzytkownik VALUES (NULL , '$stanowisko', '$departament', '$firma')")
or die ("błąd: ".mysql_error());

echo 'Pomyślnie utworzono użytkownika z loginem: '; echo $mail; echo ' i hasłem: ' ; echo $haslo ;

}
}

?>


Ten post edytował mon 9.05.2009, 09:39:02
Go to the top of the page
+Quote Post
okitoki
post
Post #18





Grupa: Zarejestrowani
Postów: 214
Pomógł: 18
Dołączył: 25.04.2009

Ostrzeżenie: (20%)
X----


podstawy

Kod
echo 'podany email: '; echo $mail; echo ' istnieje juz w naszej bazie';


Kod
echo "podany email: {$mail} istnieje juz w naszej bazie";
Go to the top of the page
+Quote Post
mon
post
Post #19





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 8.05.2009

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


eh tak wstyd mi, faktycznie nie wiedziałam jak to zrobić
Go to the top of the page
+Quote Post
okitoki
post
Post #20





Grupa: Zarejestrowani
Postów: 214
Pomógł: 18
Dołączył: 25.04.2009

Ostrzeżenie: (20%)
X----


na początku otwierasz na końcu zamykasz znacznikiem PHP "<?php ?>"
Kod
<?php include("config.php");
?>
<?php


Kod
<?php
require_once("config.php");
.......


jak masz coś takiego
Kod
<?php include("config.php");
?>
<?php
.........
header('Location: ......


będziesz chciał coś zrobić na np nagłówku, czy dać jakieś ciasteczko, to wysypie się błędem
Go to the top of the page
+Quote Post

3 Stron V   1 2 3 >
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: 25.08.2025 - 04:54