Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Co jest tu nie tak?
Forum PHP.pl > Forum > Przedszkole
IceBeast
Kod
<?php
ob_start();
require_once('var/ustawienia.php');
session_start();
require_once('gora_strony.php');


if (!empty($_POST['password']) && !empty($_POST['password2']) && $_POST['password'] == $_POST['password2'])
{
$zapyt=mysql_query("SELECT `id`, `gracz` FROM `gracze` WHERE `gracz` = '$uzytkownik['gracz']');
$wynik=mysql_fetch_array($zapyt);
$id=$wynik["id"];
echo("$id");
$change = "UPDATE `emillo_bc`.`gracze` SET `haslo` = '$password2' WHERE `gracze`.`gracz` =$uzytkownik['gracz'] LIMIT 1";
}else{
echo 'Wpisałeś dwa rózne hasła<BR>'; }
if (@mysql_query ($change)) {
                        echo "Gratulujemy twoje hasło zostało zmienione";
                        } else {
                        echo "Error"; }
                        ?>
                        
                        Zmiana Hasła:
<BR><BR><fieldset>
<form action='' method='post'>
Nowe Hasło:<input type='password' name='password'><BR><BR>
Powtórz Hasło:<input type='password' name='password2'><BR><BR>
<input type='submit' name='submit' value='Zmień'>
</form>
</fieldset>
                        
                        <?php
require_once('prawy_blok.php');
require_once('dol_strony.php');
ob_end_flush();
?>

Co tu jest nie tak?
Bo wyskakuje mi takie coś:
Kod
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/xxx/domains/xxx.xx.x/public_html/gra/haslo.php on line 11

I jeśli ktoś by mógł, to proszę o ogólne poprawienie i wstawienie tego hashowania:
$new_password = md5($_POST['new_password']);
lDoran
masz za dużo białych znaków w linii 11
IceBeast
A czy mógłby to ktoś poprawić tak żeby było tak, jak powinno byc?
ADeM
Tu masz błąd:
  1. $zapyt=mysql_query("SELECT `id`, `gracz` FROM `gracze` WHERE `gracz` = '$uzytkownik['gracz']');


  1. $zapyt=mysql_query("SELECT `id`, `gracz` FROM `gracze` WHERE `gracz` = '".$uzytkownik['gracz']."'");
IceBeast
Poprawiłem, teraz kod wygląda tak:
Kod
<?php
ob_start();
require_once('var/ustawienia.php');
session_start();
require_once('gora_strony.php');


if (!empty($_POST['password']) && !empty($_POST['password2']) && $_POST['password'] == $_POST['password2'])
{
$zapyt=mysql_query("SELECT `id`, `gracz` FROM `gracze` WHERE `gracz` = '".$uzytkownik['gracz']."'");
$wynik=mysql_fetch_array($zapyt);
$id=$wynik["id"];
echo("$id");
$change = "UPDATE `emillo_bc`.`gracze` SET `haslo` = '$password2' WHERE `gracze`.`gracz` = '".$uzytkownik['gracz']."' LIMIT 1";
}else{
echo 'Wpisałeś dwa rózne hasła<BR>'; }
if (@mysql_query ($change)) {
                        echo "Gratulujemy twoje hasło zostało zmienione";
                        } else {
                        echo "Error"; }
                        ?>
                        
                        Zmiana Hasła:
<BR><BR><fieldset>
<form action='' method='post'>
Nowe Hasło:<input type='password' name='password'><BR><BR>
Powtórz Hasło:<input type='password' name='password2'><BR><BR>
<input type='submit' name='submit' value='Zmień'>
</form>
</fieldset>
                        
                        <?php
require_once('prawy_blok.php');
require_once('dol_strony.php');
ob_end_flush();
?>


Po wejściu na stronę pojawia się:
Kod
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/emillo/domains/altagames.vot.pl/public_html/gra/haslo.php:2) in /home/emillo/domains/altagames.vot.pl/public_html/gra/haslo.php on line 5


A po próbie zmiany hasła:
Kod
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/emillo/domains/altagames.vot.pl/public_html/gra/haslo.php on line 12
Spawnm
IceBeast, o headers already sent jest bardzo dużo informacji na forum , poszukaj.
mysql_fetch_array(): supplied argument is not a valid MySQL result resource jest wynikiem błędnego zapytania w mysql_query.
IceBeast
No to zapytanie... Powiedzcie mi gdzie zrobiłem błąd.
Kod
UPDATE `emillo_bc`.`gracze` SET `haslo` = '$password2' WHERE `gracze`.`gracz` = '".$uzytkownik['gracz']."' LIMIT 1";

Czyli w bazie emillo_bc w tabeli gracze ustaw pole hasło gdzie w tabeli gracze w polu gracz jest jego nazwa.

Czy źle coś zrozumiałem?
sadistic_son
Dobrze rozumiesz.
A session_start proponuję przenieść ponad require_once('var/ustawienia.php'); i błąd z nagłówkami powinien zniknąć.
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.