[MySQL][PHP]Błąd przy wykonywaniu funkcji w skrypcie hotelowym |
[MySQL][PHP]Błąd przy wykonywaniu funkcji w skrypcie hotelowym |
12.06.2018, 14:19:41
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 18.09.2017 Ostrzeżenie: (0%) |
Witam. W poszukiwaniu ratunku na zaliczenie ( czyli szukania gotowca w necie na temat rezerwacji pokoju hotelowego ) natknąłem się na wideo, na którym autor pokazuje jak działa jego skrypt, który udostępnia otwarcie.
Podczas otwierania u mnie i próbie logowania wyskakuje takie coś ( a u niego normalnie działa ): poniżej podaję link do pobrania tego skryptu https://drive.google.com/file/d/16TZEEqyPsS...iew?usp=sharing (baza danych musi się nazywać assignment ) Nie wiem co już z tym robić... szukałem wszędzie i nic... nawet przeszedłem z PHP 7 na PHP 5.6.21 a potem znów na 5.5.19 Pozdrawiam. |
|
|
12.06.2018, 14:39:09
Post
#2
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 46 Dołączył: 10.01.2016 Ostrzeżenie: (0%) |
Popatrz na przykład i pozmieniaj.
http://php.net/manual/en/mysqli-result.fetch-array.php Ten post edytował Neutral 12.06.2018, 14:39:30 |
|
|
12.06.2018, 14:47:13
Post
#3
|
|
Grupa: Moderatorzy Postów: 36 440 Pomógł: 6290 Dołączył: 27.12.2004 |
@Neutral i niby jakim cudem przejscie na mysqli ma poprawic blad bazy danych? Jesli polaczenie jest zle ustawione tudzien tabele nie istnieje to krok ten nie ma zadnego sensu. A to wlasnie wynika z komunikatu bledu....
@Daffcio3615 masz blad zapytania. Przed mysql_fetch_array() masz gdzies tam mysql_query. Wyswietl sobie blad jaki zwraca baza. No to chociaz powinieines umiec na to zalicznie... -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
12.06.2018, 14:56:23
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) |
Taki błąd oznacza, że masz złą nazwę użytkownika/hasło do połączenia z bazą. mysql_connect zamiast połączenia zwrócił false. Inna sprawa, że w PHP 7 nie używa się już funkcji zaczynających się od mysql_.
Ten post edytował SmokAnalog 12.06.2018, 14:56:31 |
|
|
12.06.2018, 15:02:39
Post
#5
|
|
Grupa: Moderatorzy Postów: 36 440 Pomógł: 6290 Dołączył: 27.12.2004 |
@SmokAnalog a skadzesz te mysql_connect wytrzasnal tam? Przeciez blad sie pojawia przy tym zapytaniu
$login="select * from users where user_name='".$username."' and user_password ='".$password."'"; $result=mysql_query($login); Jak juz mowilem jest to blad zapytania. Owszem, miedzy innymi moze to byc blad polaczenia jesli nie zostal wylapany wczesniej. ps: generalnie nie wiem jakim cudem to dziala skoro do polaczenia autor uzywa PDO a potem do zapytania mysql_query.... -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
12.06.2018, 15:12:18
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) |
Ale pierwszy parametr to połączenie. Mówimy o funkcji mysql_fetch_assoc, a nie o mysqli. Kolega przekazuje tam boolean, czyli złe połączenie. Tak mi się wydaje.
|
|
|
12.06.2018, 15:13:36
Post
#7
|
|
Grupa: Moderatorzy Postów: 36 440 Pomógł: 6290 Dołączył: 27.12.2004 |
@Smoku idz sie wyspij bo gadasz takie glupoty....
Skoro sam mnie odsylasz do manuala to moze jednak sam tam zajrzyj http://php.net/mysql_fetch_assoc gdzie tam masz pierwszy parametr polaczenie?? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
12.06.2018, 15:16:13
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) |
Rzeczywiście gadam głupoty Pomyliło mi się z mysql_query, gdzie połączenie i tak jest nie pierwszym, a drugim parametrem. Gadam przez telefon i jednak multitasking nie zdaje egzaminu. Ale wstyd
Ten post edytował SmokAnalog 12.06.2018, 15:16:31 |
|
|
12.06.2018, 15:32:01
Post
#9
|
|
Grupa: Moderatorzy Postów: 36 440 Pomógł: 6290 Dołączył: 27.12.2004 |
Cytat Ale wstyd No ba. Dodam ten temat do ulubionych i bede cie nim nekal srednio raz na tydzien do czasu az przelejesz na me konto £1000000
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
12.06.2018, 15:37:54
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) |
Miejże litość, pozwól negocjować. Niech to będzie chociaż w Euro
|
|
|
12.06.2018, 15:40:14
Post
#11
|
|
Grupa: Moderatorzy Postów: 36 440 Pomógł: 6290 Dołączył: 27.12.2004 |
I takie negocjacje lubie. Euro pasuje
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
12.06.2018, 16:08:50
Post
#12
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 18.09.2017 Ostrzeżenie: (0%) |
@Daffcio3615 masz blad zapytania. Przed mysql_fetch_array() masz gdzies tam mysql_query. Wyswietl sobie blad jaki zwraca baza. No to chociaz powinieines umiec na to zalicznie... Zmieniłem połączenie z PDO na mysql_connect ( tak wiem, stare...) błędów o dziwo nie wyrzuca... znaczy robię tak jak mnie uczono, że echo "Connect error: " . mysql_error() . " "; |
|
|
12.06.2018, 16:11:56
Post
#13
|
|
Grupa: Moderatorzy Postów: 36 440 Pomógł: 6290 Dołączył: 27.12.2004 |
No ale dales to wyswietlanie po mysql_query() a przed mysql_fetch_array w okoliacach linii 216? Pokaz kod po zmianach.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
12.06.2018, 16:18:04
Post
#14
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 18.09.2017 Ostrzeżenie: (0%) |
Kod <?php session_start(); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <style type="text/css"> #contenair{ height: 100%; width: 100%; } #r{ margin-top: 5%; margin-bottom: 50px; margin-right: 20px; float: right; height:95%; width:35%; background-color: #b7bcbd; } #l { margin-top: 5%; margin-bottom: 50px; margin-left:20px; float: left; width: 60%; background-color: #b7bcbd; } </style> <script> function signup() { var alt=""; var x=document.forms["signupform"]["firstname"].value; if (x==null || x=="") { alt +="First name must be filled out\n"; } var y=document.forms["signupform"]["lastname"].value; if (y==null || y=="") { alt += "Last name must be filled out\n"; } var x=document.forms["signupform"]["daytimephone"].value; if (x==null || x=="") { alt +="First name must be filled out\n"; } var z=document.forms["signupform"]["email"].value; var atpos=z.indexOf("@"); var dotpos=z.lastIndexOf("."); if (atpos<1 || dotpos<atpos+2 || dotpos+2>=z.length) { alt += "Not a valid e-mail address\n"; } var v=document.forms["signupform"]["password1"].value; if (v==null || v=="") { alt += "password must be filled out\n"; } var t=document.forms["signupform"]["password2"].value; if (t==null || t=="") { alt += "confirm password must be filled out\n"; } if (v != t) { alt += "password doesn't match\n"; } if((document.forms["signupform"]["usertype1"].checked==false)&& (document.forms["signupform"]["usertype2"].checked==false)) { alt += "payment type must be filled out\n"; } if (alt != "") { alert(alt); return false; } else { form.Submit() } } </script> <meta charset="UTF-8" /> </head> <body> <div id="contenair"> <?php include_once('include/db_con.php'); if(isset($_POST['Submit'])) { $fn=$_POST['firstname']; $ln=$_POST['lastname']; $phone=$_POST['daytimephone']; $email=$_POST['email']; $pass=$_POST['password1']; $city=$_POST['city']; $country=$_POST['country']; $intr=$_POST['usertype']; $s1="INSERT INTO users (first_name,last_name,day_phone,user_name,user_password,city,country,payment_ type)VALUES('".$fn."','".$ln."','".$phone."','".$email."','".$pass."','".$city."','".$country."','".$intr."')"; mysql_query($s1) or die (mysql_error($con)); } ?> <div id="l" align="left"> <h2 align="center" style="color:red">Welcome to our Hotel </h2> <h3 align="center"><u><i>Create A Account For New User....</i></u></h3> <table> <form method="POST" name="signupform" action="index.php" onSubmit="return signup();" > <tr> <td height="40">FirstName:</td> <td><input name="firstname" type="text" id="firstname" size="40" /> </td> </tr> <tr> <td height="40">LastName:</td> <td><input name="lastname" type="text" id="lastname" size="40" /> </td> </tr> <tr> <td height="40">Phone:</td> <td><input name="daytimephone" type="text" id="daytimephone" size="40" class="phone" /> </td> </tr> <tr> <td height="40">E-mail:</td> <td><input name="email" type="text" id="email" size="40" /> </td> </tr> <tr> <td height="40">Password:</td> <td><input name="password1" type="password" id="password1" size="40" /> </td> </tr> <tr> <td height="40">Confirm Password:</td> <td><input name="password2" type="password" id="password2" size="40" /> </td> </tr> <br> <tr> <td height="40">City/State</td> <td><input name="city" type="text" id="city" size="40" /> </td> </tr> <br> <tr> <td height="40">Country</td> <td><input name="country" type="text" id="country" size="40" /> </td> </tr> <br> <tr> <td>Payment Type:</td> <td><input type="radio" name="usertype" id="usertype1" value="cash" />Cash <input type="radio" name="usertype" id="usertype2" value="paypal" />Paypal/CreditCard </td> </tr> <tr> <td align="center" colspan="2"><input type="submit" name="Submit" value="Submit" /> <input type="reset" name="reset" value="Reset" /></td></tr> </form> </table> </div> <div id="r" align="right"> <?php include_once('include/db_con.php'); if (isset($_POST['username'],$_POST['password'])) { $username=$_POST['username']; $password=$_POST['password']; if (empty($username) || empty($password)) { $error = 'Hey All fields are required!!'; } else { $login="select * from users where user_name='".$username."' and user_password ='".$password."'"; $result=mysql_query($login); print_r($result); echo "Connect error: " . mysql_error() . " :( "; if (mysql_fetch_array($result)){ $_SESSION['logged_in']='true'; $_SESSION['username']=$username; header('Location:registration.php'); exit(); } else { $error='Incorrect details !!'; } } } ?> <form action="index.php" method="POST"> <h2 align="center" id="h"><u><i>Login Here........</i></u></h2> <table align="center" id="t"> <tr> <?php if (isset($error)) {?> <small style="color:#aa0000;"><?php echo $error; ?> <br /> <br /> <?php } ?> </tr> <tr> <td width="113">Email:</td> <td width="215"> <input name="username" type="text" size="40" /></td> </tr> <tr> <td>Password:</td> <td> <input name="password" type="password" size="40" /></td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" name="sub" value="Login" /></td> </tr> </table> </form> </div> </div> </body> </html> |
|
|
12.06.2018, 16:22:48
Post
#15
|
|
Grupa: Moderatorzy Postów: 36 440 Pomógł: 6290 Dołączył: 27.12.2004 |
No i co? Nie zwraca ci to bledu bazy ale jednoczesnie nadal pluje bledem z pierwszego posta? Niemozliwe.
Zamien echo "Connect error: " . mysql_error() . " "; na: die(mysql_error()); ps: zauwaz ze masz tam dwa pliki INDEX.PHP. Rob zmiany we wlasciwym.... -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
12.06.2018, 16:30:22
Post
#16
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 18.09.2017 Ostrzeżenie: (0%) |
Warning: mysql_error(): 6 is not a valid MySQL-Link resource in C:\xampp\htdocs\index.php on line 125 -> to wyskakuje przy rejestracji
a przy logowaniu, że baza danych nie jest wybrana |
|
|
12.06.2018, 16:34:14
Post
#17
|
|
Grupa: Moderatorzy Postów: 36 440 Pomógł: 6290 Dołączył: 27.12.2004 |
zmien
mysql_error($con) na mysql_error() Co do niewybranej bazy to moze ja wybierz? Myslisz ze baza ot tak sobie rzuca tym bledem? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
12.06.2018, 16:42:46
Post
#18
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 18.09.2017 Ostrzeżenie: (0%) |
db_con.php -> daję to, co zmieniłem z PDo na mysql_connect...
Kod <?php $con = mysql_connect('localhost', 'root', '', 'assignment'); if (!$con) { die('Brak połączenia: ' . mysql_error()); } mysql_close($con); ?> No database selected i tyle... Nie wiem, albo jestem kretynem albo nie widzę banalnego problemu Ten post edytował Daffcio3615 12.06.2018, 16:43:33 |
|
|
12.06.2018, 16:45:34
Post
#19
|
|
Grupa: Moderatorzy Postów: 36 440 Pomógł: 6290 Dołączył: 27.12.2004 |
Masz blad ze nie wybrales bazy
Ja ci mowie ze masz wybrac baze A ty nadal bazy jak nie wybrales tak nie wybrales. Wskaz mi prosze w tym kodzie miejsce, wktorym wybierasz baze... Bo jesli myslisz ze to mysql_connect('localhost', 'root', '', 'assignment'); wybiera baze to sie srogo mylisz. Zajrzyj do manuala Cytat albo jestem kretynem albo nie widzę banalnego problemu Nie zadawaj pytan na ktorej nie chcesz znac odpowiedzi
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
12.06.2018, 16:56:20
Post
#20
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 18.09.2017 Ostrzeżenie: (0%) |
dodałem wszędzie na początek zamiast session_start(); dodałem ob_start(); i wszystko działa prawidłowo
i oczywiście poprawiłem: Kod <?php
$con = mysql_connect('localhost', 'root', ''); if (!$con) { die( 'Brak połączenia: ' . mysql_error()); } $db_selected = mysql_select_db('assignment', $con); if (!$db_selected) { die ('Nie można wczytać bazy : ' . mysql_error()); } ?> Ten post edytował Daffcio3615 12.06.2018, 16:57:27 |
|
|
Wersja Lo-Fi | Aktualny czas: 28.03.2024 - 23:04 |