Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]problem z bazą u jednego użytkownika
Forum PHP.pl > Forum > Przedszkole
avisoma
Witam
Kilka lat temu zrobiliśmy ze znajomym kilka stron. Ja zajmowałam się HTML, CSS i grafiką, on natomiast tym, o czym ja nie mam "zielonego" pojęcia, czyli PHP i bazą danych. Niestety znajomość się urwała, a ja nie umiem rozwiązać problemu z jednym kontem. Dodam, że od kilku lat nic nie było zmieniane.

Strona ma panel cms, a konto to działało bez zarzutu do marca br. Strona wyświetla się poprawnie.
Przy logowaniu do panelu klientka zgłasza, że wyskakuje jej następujący błąd "Q error nr 1".
Ja natomiast loguję się na jej koncie bez najmniejszych problemów (próbowałam na dwóch komputerach z XP i na trzech z Vistą poprzez IE i Mozillę).
Takiego typu kont jest kilkadziesiąt i nikt inny nie zgłaszał problemu.

Myślałam, że przyczyna tkwi w jej komputerze lub dostawcy łącza internetowego, jednak...
Klientka podała swoje dane dostępowe innej klientce - swojej koleżance.
Efekt: koleżanka na swoje dane dostępowe loguje się bez problemu, natomiast logując się na konto tej pierwszej widzi taki sam błąd.

Kod
<?php

function main()
{
    $luser = $_POST['luser'];
    include('db/db.php');
    $link = mysql_connect($HOST,$USER,$PASS) or die('Nie udalo sie polaczyc z serwerem');
    $db_handle = mysql_select_db($DB, $link) or die('Nie udalo sie wybrac bazy danych');
    echo('
<TABLE CLASS="ramka" align="center">
<FORM METHOD="post" ACTION="index.php" vALIGN="top">
<INPUT TYPE="hidden" NAME="act" VALUE="W">
<INPUT TYPE="hidden" NAME="luser" VALUE='.$luser.'>
<INPUT TYPE="hidden" NAME="lpass" VALUE='.$lpass.'>
<TR><TD width="100%" Align="right"><INPUT TYPE="submit" NAME="" value="Wyloguj / Wyjdź" CLASS="guzik"></TD></TR>
</FORM>
<TR><TD CLASS="pnaglowek"  vALIGN="top">Panel administratora</TD></TR>
<TR><TD HEIGHT="1"><hr size="1" width="100%" color="#3E3E3E" /></TD></TR>
<TR><TD HEIGHT="30"></TD></TR>
<tr><td>
    <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" align="center" class="listadzialow">
    <tr><td class="naglmenu" colspan="3">MENU:</td></tr>
    <TR><TD HEIGHT="20"></TD></TR>
    <TR><TD HEIGHT="1" colspan="3"><hr size="1" width="100%" color="#3E3E3E" /></TD></TR>');
                            $query = "SELECT * FROM ".$luser."_menu";
                            $execute = mysql_query($query) or die('Q error nr 1');
                            while($row = mysql_fetch_array($execute))
                            {
                                echo('
                        <form METHOD="post" ACTION="index.php" vALIGN="top">
                        <INPUT TYPE="hidden" NAME="luser" VALUE='.$luser.'>
                        <INPUT TYPE="hidden" NAME="iddzialu" VALUE='.$row['id'].'>
                        <INPUT TYPE="hidden" NAME="typ" VALUE='.$row['typ'].'>
                        <INPUT TYPE="hidden" NAME="nazwa" VALUE='.$row['nazwa'].'>
                            <TR>
                                <TD width="1"></TD>
                                <TD width="400"> &nbsp;');
                                        print $row['nazwa'];
                                        echo('</td>
                                <TD width="200" align="right"><INPUT TYPE="submit" name="act" STYLE="WIDTH:90" value="Edytuj dział" CLASS="panel_gl"><INPUT TYPE="submit" name="act" STYLE="WIDTH:90" value="Usuń dział" CLASS="panel_gl"></TD>
                            </TR>
                        </form>
                            <TR><TD HEIGHT="1" colspan="3"><hr size="1" width="100%" color="#3E3E3E" /></TD></TR>');
                            }
                            echo('
    </table>
</td></tr>
<TR><TD HEIGHT="10"></TD></TR>
<TR><TD HEIGHT="1"><hr size="1" width="100%" color="#3E3E3E" /></TD></TR>
<TR><TD HEIGHT="10"></TD></TR>
<FORM METHOD="post" ACTION="index.php" vALIGN="top">
<INPUT TYPE="hidden" NAME="luser" VALUE='.$luser.'>
<INPUT TYPE="hidden" NAME="lpass" VALUE='.$lpass.'>
<INPUT TYPE="hidden" NAME="act" VALUE=nowydzial>                
<TR><TD class="naglmenu"> &nbsp; Dodaj nowy dział:
                        <SELECT NAME="typ" STYLE="width:170">
                            <OPTION VALUE="1">artykuł</OPTION>
                            <OPTION VALUE="2">artykuł ze zdjęciami</OPTION>
                            <OPTION VALUE="3">galeria</OPTION>');
                            $query = "SELECT * FROM ".$luser."_menu WHERE typ = '4'";
                            $execute = mysql_query($query) or die('Q error nr 2');
                            $rownum = mysql_num_rows($execute);
                            if($rownum == '0') print '<OPTION VALUE="4">księga gości</OPTION>';                            
                            $query = "SELECT * FROM ".$luser."_menu WHERE typ = '5'";
                            $execute = mysql_query($query) or die('Q error nr 3');
                            $rownum = mysql_num_rows($execute);
                            if($rownum == '0') print '<OPTION VALUE="5">aktualności</OPTION>';
                echo('    <OPTION VALUE="6">banery</OPTION>
                        </SELECT>
<INPUT TYPE="submit" STYLE="WIDTH:120" value="Dodaj" CLASS="panel_gl"></TD></TR>
</FORM>
<TR><TD HEIGHT="10"></TD></TR>
</TABLE><p></p>');
}
?>


Czy ktoś wie, jaki może być powód i wytłumaczyć mi to w przystępny sposób?
varez
O MATKO!
Co za kod.. Genialny.. Idealny do ataków..

Musi się logować źle -> na nieistniejącego użytkownika.
avisoma
Cytat
Musi się logować źle -> na nieistniejącego użytkownika.

Cytat
Dodam, że od kilku lat nic nie było zmieniane.

Również jej login i hasło.
Cytat
Ja natomiast loguję się na jej koncie bez najmniejszych problemów...

Na jej loginie i haśle.

lobopol
Musi błędne dane podawać albo w błędny sposób sama wpisywać
$query = "SELECT * FROM ".$luser."_menu";
$execute = mysql_query($query) or die('Q error nr 1');
error powinien się wyświetlić wtedy gdy błędny login jest podany (domyślam się, że każdy klient ma własną tabele w bazie danych (masakra nawiasem mówiąc), kod jest bardzo, ale to bardzo dziurawy.
zamiast $execute = mysql_query($query) or die('Q error nr 1'); daj $execute = mysql_query($query) or die(mysql_error()); i niech ci napisze co za błąd się wyświetla.
avisoma
Zrobiłam, tak jak zasugerowałeś.
Pojawił się komunikat:

Cytat
Table 'vanti.Hajdawera_menu' doesn't exist
MENU:


Dzięki tej informacji zorientowałam się, że obie panie login wpisują z dużej litery i stąd problem.

Bardzo dziękuję za pomoc smile.gif))))))))))))))))))))))))))))))))))))))
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.