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 - 53)
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
mon
post
Post #21





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

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


czyli wrzucić wszystko pomiędzy jeden znacznik <?php ?> a nie tak jak mam podzielone na dwa? bo nie za bardzo zrozumiałam
Go to the top of the page
+Quote Post
okitoki
post
Post #22





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

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


to
Kod
.......
else if(!$nazwisko OR empty($nazwisko))
{
echo 'Wypełnij pole z nazwiskiem';
$puste_pole = false;
exit;
}
.......


nie łatwiej
Kod
foreach($_POST as $name => $value)
if(empty($value))
{
  echo "Nie wypełniłeś pola {$name}";
  $puste_pole = false;
  exit;
}

ten fragment sprawdzi wszystkie pola POST-a

Ten post edytował okitoki 9.05.2009, 10:01:24
Go to the top of the page
+Quote Post
mon
post
Post #23





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

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


masz racje (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) tego właśnie trzeba było w tym kodzie, wiem że dużo w nim potrzebnych jest poprawek, programowanie "ładne i czytelne" nigdy nie było moją mocną stroną ;/ ale dziękuję za cierpliwość (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
okitoki
post
Post #24





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

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


Cytat(mon @ 9.05.2009, 10:54:00 ) *
czyli wrzucić wszystko pomiędzy jeden znacznik <?php ?> a nie tak jak mam podzielone na dwa? bo nie za bardzo zrozumiałam


tak jeden znacznik, i nie staraj się mieszać kodu PHP i HTML bo to zła praktyka, kod już całkiem się staje nie czytelny (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif)
Go to the top of the page
+Quote Post
mon
post
Post #25





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

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


CODE
echo "podany email: {$mail} istnieje juz w naszej bazie";


nie wypisuje mi wartości maila tylko ciąg {$mail}

Cytat(mon @ 9.05.2009, 11:05:43 ) *
CODE
echo "podany email: {$mail} istnieje juz w naszej bazie";


nie wypisuje mi wartości maila tylko ciąg {$mail}


mój błąd, dałam pojedyncze nawiasy
Go to the top of the page
+Quote Post
okitoki
post
Post #26





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

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


powinno to wyglądać mniej wiecej tak

Kod
<?php
require_once("config.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
foreach($_POST as $name => $value)
if(empty($value))
{
  echo "Nie wypełniłeś pola {$name}";
  $puste_pole = false;
  exit;
}


if( $puste_pole == true)
{
//sprawdzanie czy nie ma przypadkiem juz takiego samego maila w bazie
    $_SQL_ = "SELECT count(mail) FROM login WHERE mail = '{$mail}'";
    $sprawdz_mail = mysql_query($_SQL_);
    $result = mysql_fetch_array($sprawdz_mail, MYSQL_NUM);

    if ($result[0]>0)
        echo "podany email: {$mail} istnieje juz w naszej bazie";
    else
    {
    //wpisanie danych do tabeli login
    $_SQL_ = "INSERT INTO login VALUES (NULL , '{$imie}', '{$nazwisko}', '{$mail}', '{$haslo}', '{$upowaznienie}')";
    $sql_into_login = mysql_query($_SQL_)
    or die("Blad SQL: {$_SQL_} ".mysql_error());

    //wpisanie danych do tabeli uzytkownik
    $_SQL_ = " INSERT INTO uzytkownik VALUES (NULL , '{$stanowisko}', '{$departament}', '{$firma}')";
    $sql_into_uzytkownik = mysql_query()
    or die ("blad SQl: {$_SQL_} ".mysql_error());

    echo "Konto zostalo utworzone z loginem: {$mail} i haslem: {$haslo}";

    }
}

?>
Go to the top of the page
+Quote Post
mon
post
Post #27





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

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


Cytat
Kod
    $sql_into_uzytkownik = mysql_query();


wszystko jest cacy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) tylko w tym kodzie trzeba zrobić:

Kod
    $sql_into_uzytkownik = mysql_query($_SQL_);


ale nadal wczytywanie z pliku nie chodzi ;/
Go to the top of the page
+Quote Post
okitoki
post
Post #28





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

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


w tym kodzie nic nie ma o pliku (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
mon
post
Post #29





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

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


tak wiem bo to był kod, który napisałam jako pierwszy i działał, później "na jego podstawie" pisałam kod do czytania z pliku i ten już nie działa, słyszałam że php lubi być niesforny ale żeby aż tak ;/
Go to the top of the page
+Quote Post
okitoki
post
Post #30





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

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


daj kod, czytania i pisania w pliku, zerknę na niego
Go to the top of the page
+Quote Post
mon
post
Post #31





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

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


kod czytania i pisania? yyy plik jest zwykly .txt, wygląda tak:

testuj ; testuj ; test ; testuj ; stanowisko ; departament ; bez ograniczen ; firma;
testuj ; testuj ; test4 ; testuj ; stanowisko ; departament ; bez ograniczen ; firma;
testuj ; testuj ; test5 ; testuj ; stanowisko ; departament ; bez ograniczen ; firma;

wrzucam go poprzez: <input type="file">

a plik php który go wykorzystuje to pierwszy post
Go to the top of the page
+Quote Post
okitoki
post
Post #32





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

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


zapisuj to tak

"testuj" ; "testuj" ; "test" ; "testuj" ; "stanowisko" ; "departament" ; "bez ograniczen" ; "firma";

bo potem możesz to czytać function.fgetcsv.php


na razie muszę znikać do pracy, jak będziesz miał jakieś problemy to pisz

aha w jakim edytorze piszesz (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
mon
post
Post #33





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

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


okej, zaraz to zmienie

w netbeansie 6.5.1

dzięki za pomoc, życzę miłego dnia

tak a propo, kobietą jestem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) co mam nadzieję nie będzie działało na moją niekorzyść (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
okitoki
post
Post #34





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

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


Cytat(mon @ 9.05.2009, 12:10:16 ) *
tak a propo, kobietą jestem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) co mam nadzieję nie będzie działało na moją niekorzyść (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)



nie będzie działało (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
mon
post
Post #35





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

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


nareszcie zadziałało, widocznie to przez to że ciągi nie były w "", bądź przez to, że używałam innej funkcji do podziału danych. Zamieszczam poprawiony kod, może komuś kiedyś sie przyda:
CODE

<?php require_once("config.php");
//czytanie z 1 pliku
$plik = fopen ("nazwa.csv","r");
$tablica_z_danymi_do_logowania = fgetcsv($plik, 0, ";");

//ile bedzie osob do zalogowania, indeksowane od 0
$ilosc_wierszy_w_pliku = (count($tablica_z_danymi_do_logowania)- 1 ) % 7;

$ilosc_danych_w_pliku = count($tablica_z_danymi_do_logowania)-1;

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 ($row[0] != false)
echo "podany email: {$sprawdz} istnieje juz w naszej bazie";
}

?>


Wielkie dzięki okitoki, masz u mnie "browarka" (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował mon 9.05.2009, 11:28:09
Go to the top of the page
+Quote Post
okitoki
post
Post #36





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

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


nie pije i nie pale (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

ale i tak ten plik to zły pomysł, bo jak ktoś się do tego dobierze to będzie znał loginy i hasła

poza tym hasła szyfruj np: poleceniem crypt a w mysql np polecenie password tak by nikt ich nie znał, ty też ich znać nie musisz (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
mon
post
Post #37





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

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


dobrze dla Ciebie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

ja w sumie tez heh ale tak to sie mowi w podzięce (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

szyfrowanie na pewno będzie, chciałam się uporać z zaczytywaniem pliku

wiem, że to zły pomysł ale siła wyższa, skoro chce to będzie miał (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

jednak nie działa

jeśli w bazie nie ma maila który jest w pliku, czyli pytanie select nic nie wyciagnie to mysql_fetch_row nie działa

kod jest taki:
CODE

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

//czytanie z 1 pliku
$plik = fopen ("nazwa.csv","r");
$dane_log = fgetcsv($plik, 0, ";");
//$tablica_z_danymi_do_logowania = explode(";", $plik);

//ile bedzie osob do zalogowania, indeksowane od 0
$ilosc_wierszy_w_pliku = (count($dane_log)- 1 ) % 7;

$ilosc_danych_w_pliku = count($dane_log)-1;

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 = $dane_log[$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 ($row[0] != false)
{
echo "podany email: {$sprawdz} istnieje juz w naszej bazie";
}
else
{
//wpisanie danych do tabeli login
$_SQL_ = "INSERT INTO login VALUES (NULL , '{$dane_log[($i*7) + $i]}', '{$dane_log[($i*7) + $i + 1]}','{$dane_log[($i*7) + $i + 2]}', '{$dane_log[($i*7) + $i + 3]}', '{$dane_log[($i*7) + $i + 4]}')";
$sql_into_login = mysql_query($_SQL_) or die("Blad SQL: {$_SQL_} ".mysql_error());

//wpisanie danych do tabeli uzytkownik
$_SQL_ = " INSERT INTO uzytkownik VALUES (NULL , '{$dane_log[($i*7) + $i+ 5 ]}','{$dane_log[($i*7) + $i + 6]}','{$dane_log[($i*7) + $i + 7]}')";
$sql_into_uzytkownik = mysql_query($_SQL_) or die ("blad SQl: {$_SQL_} ".mysql_error());

echo "Konto zostalo utworzone z loginem: {$mail} i haslem: {$haslo}";
}
}

?>
Go to the top of the page
+Quote Post
okitoki
post
Post #38





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

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


Kod
//co to zwraca ?
$sprawdz = $dane_log[$nr_mail];


jak chcesz zobaczyć co zawiera tabela to zrób

print_f($dane_log);
Go to the top of the page
+Quote Post
mon
post
Post #39





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

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


Cytat
Kod
//co to zwraca ?
$sprawdz = $dane_log[$nr_mail];

to zwraca wartosci przypisane w pliku jako mail czyli kolejne stringi odpowiadajace mailom.
Problem jest wtedy gdy w bazie nie ma maila ktory jest w pliku, czyli ze mozna go bez problemu zapisac do bazy, czyli gdy select nic nie zwraca
Problem jest tez taki ze ta petla wykonuje sie tylko raz a nie tyle razy ile jest linii w pliku

Ten post edytował mon 9.05.2009, 19:58:15
Go to the top of the page
+Quote Post
okitoki
post
Post #40





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

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


jak masz dane wpliku, kolejnosc i co tam jest
Go to the top of the page
+Quote Post
mon
post
Post #41





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

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


w pliku mam :
"testuj" ; "testuj" ; "test" ; "testuj" ; "stanowisko" ; "departament" ; "bez ograniczen" ; "firma";
"testuj" ; "testuj" ; "test4" ; "testuj" ; "stanowisko" ; "departament" ; "bez ograniczen" ; "firma";
"testuj" ; "testuj" ; "test5" ; "testuj" ; "stanowisko" ; "departament" ; "bez ograniczen" ; "firma";

imie, nazwisko, mail, haslo no i dalej jak jest

zauwazylam ze problem jest wtedy gdy zapytanie SELECT nic nie zwroci czyli ze maila z pliku nie ma w bazie i mozna go zapisac
Pewnie mam złe warunki ale juz tyle na to patrze ze kompletnie przestaje widziec w tym błędy ;/
Go to the top of the page
+Quote Post
okitoki
post
Post #42





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

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


daj mi cały kod jak wygląda, bo tu już też nic nie widzę w tych fragmentach

Ten post edytował okitoki 10.05.2009, 12:32:00
Go to the top of the page
+Quote Post
mon
post
Post #43





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

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


CODE


<?php require_once("config.php");
//czytanie z 1 pliku
$plik = fopen ("nazwa.csv","r");
$dane_log = fgetcsv($plik, 0, ";");


//ile bedzie osob do zalogowania, indeksowane od 0
$ilosc_wierszy_w_pliku = (count($dane_log)- 1 ) % 7;

$ilosc_danych_w_pliku = count($dane_log)-1;

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 = $dane_log[$nr_mail];
$result = mysql_query("SELECT mail FROM login WHERE mail = '{$sprawdz}'") or die("BŁĄD W ZAPYTANIU");
if($result != false)
{
$row = mysql_fetch_row($result);
echo "podany email: {$sprawdz} istnieje juz w naszej bazie";
}
else
{
//wpisanie danych do tabeli login
$_SQL_ = "INSERT INTO login VALUES (NULL , '{$dane_log[($i*7) + $i]}', '{$dane_log[($i*7) + $i + 1]}','{$sprawdz}', '{$dane_log[($i*7) + $i + 3]}', '{$dane_log[($i*7) + $i + 4]}')";
$sql_into_login = mysql_query($_SQL_) or die("Blad SQL: {$_SQL_} ".mysql_error());

//wpisanie danych do tabeli uzytkownik
$_SQL_ = " INSERT INTO uzytkownik VALUES (NULL , '{$dane_log[($i*7) + $i+ 5 ]}','{$dane_log[($i*7) + $i + 6]}','{$dane_log[($i*7) + $i + 7]}')";
$sql_into_uzytkownik = mysql_query($_SQL_) or die ("blad SQl: {$_SQL_} ".mysql_error());

echo "Konto zostalo utworzone z loginem: {$sprawdz} i haslem: {$dane_log[($i*7) + $i + 3]}";
}
}

?>
Go to the top of the page
+Quote Post
okitoki
post
Post #44





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

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


.............
$result = mysql_query("SELECT mail FROM login WHERE mail = '{$sprawdz}'") or die("BŁĄD W ZAPYTANIU");
$row = mysql_fetch_row($result);
if(!empty($row[0]))
{
echo "podany email: {$sprawdz} istnieje juz w naszej bazie";
}
else
................
Go to the top of the page
+Quote Post
mon
post
Post #45





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

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


nareszcie (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) działa (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) tylko hmm jak zrobic zeby wklepal do bazy wszystkich userow? bo wklepuje jednego i kończy czyli tak bardziej normalnie mowiac, wpisuje jedna linie == jeden user i koniec
Go to the top of the page
+Quote Post
okitoki
post
Post #46





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

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


foreach($plik as $item)
{
$item to już masz konkretny rekord
}

Ten post edytował okitoki 10.05.2009, 13:10:59
Go to the top of the page
+Quote Post
mon
post
Post #47





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

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


Cytat(okitoki @ 10.05.2009, 14:10:44 ) *
foreach($plik as $item)
{
$item to już masz konkretny rekord
}


;/ chyba nie rozumiem
Go to the top of the page
+Quote Post
Zyx
post
Post #48





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


No człowieku, to są elementarne podstawy PHP...

http://pl.wikibooks.org/wiki/PHP/Instrukcja_foreach
Go to the top of the page
+Quote Post
mon
post
Post #49





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

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


i po co ten bulwers? nie chcesz, nie pomagaj, a dla Twojej wiadomości dopiero uczę sie tego języka, o zgrozo jak na świecie sami tacy ludzie są
Go to the top of the page
+Quote Post
okitoki
post
Post #50





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

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


no cóż (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .

mon jak masz na imie (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
mon
post
Post #51





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

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


a imie świadczy o stopniu rozumienia (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ok, jakos sama sobie poradze, po co mam ludzi denerwowac swoja niewiedza :] dziekuje wielkie za pomoc i cierpliwosc, zycze milej niedzieli
Go to the top of the page
+Quote Post
Zyx
post
Post #52





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


Nie żadne "i po co ten bulwers" (kto tu się bulwersuje), tylko to są podstawy opisane w każdym możliwym kursie, a umiejętność samodzielnego wyszukiwania brakujących informacji, szczególnie z gatunku "podstawy podstaw" to paradoksalnie jedna z ważniejszych umiejętności programisty. Jaki jest tytuł tematu? "Jak działa foreach" czy "problem z mysql_fetch_row/array"? Odrobinka samodzielności nikomu jeszcze na złe nie wyszła, a nikt nikogo w nieskończoność za rączkę prowadzić nie będzie. Wyobraź sobie, że też od czasu do czasu uczę się nowego języka i jakoś nie mam tego typu problemów ze składnią, m.in. dlatego, że wiem o istnieniu dokumentacji oraz tego, że jeśli to jest coś ważnego, to nawet mój kurs/podręcznik będzie miał to opisane.
Go to the top of the page
+Quote Post
okitoki
post
Post #53





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

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


Cytat(mon @ 10.05.2009, 14:46:25 ) *
a imie świadczy o stopniu rozumienia (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ok, jakos sama sobie poradze, po co mam ludzi denerwowac swoja niewiedza :] dziekuje wielkie za pomoc i cierpliwosc, zycze milej niedzieli


nie świadczy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) , tak chciałem wiedzieć (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
mon
post
Post #54





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

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


nie chodziło mi o brak zrozumienia petli foreach tylko o ten skrót myślowy

Monika (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
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: 28.09.2025 - 14:13