Witam serdecznie,
Staram się zrobić skrypt w którym użytkownik może zmieniać dane wizytówki na stronie. Bardzo prosta strona, kilka danych jak nazwa firmy email i nr tel oraz logo firmy. Udało mi się zrobić że po zalogowaniu użytkownik widzi zapisane dane w bazie i ma możliwość je edytować. Zdjęcie, wgrywa do folderu UPLOADS a ścieżkę do zdjęcia dopisuje do danego użytkownika w bazie. Wszystko ok. Problem polega na tym, że chciałbym ustawić aby zdjęcie które wgrywają użytkownicy zmieniało się do rozmiaru np 640px x 400 px. Ma to być tylko małe logo widoczne w wizytówce, a nie wielki obraz, który będzie mi zaśmiecał serwer.
Poniżej kod formularza:
<?php if ($_SESSION['auth'] == TRUE)
{
echo 'Zalogowany jest: '. $_SESSION['user'];
require_once('db.php');
$id_user=$_SESSION['user'];
$sql=mysql_query("select * from user where login='$id_user'");
$row = mysql_fetch_array($sql);
echo '<form enctype="multipart/form-data" method="POST" action="edytuj.php">';
echo '<b>Nazwa firmy:</b><br /> ';
echo '<input type="text" size=30 name="nazwa" disabled value="'.$row['nazwa'].'"><br />';
echo '<b>NIP:</b><br /> ';
echo '<input type="text" size=30 name="nip" disabled value="'.$row['nip'].'"><br />';
echo '<b>Kod pocztowy:</b><br /> ';
echo '<input type="text" size=30 name="kodp" value="'.$row['kodp'].'"><br />';
echo '<b>Miejscowość:</b><br /> ';
echo '<input type="text" size=30 name="miejscowosc" value="'.$row['miejscowosc'].'"><br />';
echo '<b>Adres:</b><br /> ';
echo '<input type="text" size=30 name="ulica" value="'.$row['ulica'].'"><br />';
echo '<b>Telefon:</b><br /> ';
echo '<input type="text" size=30 name="telefon" value="'.$row['telefon'].'"><br />';
echo '<b>E-mail:</b><br /> ';
echo '<input type="text" size=30 name="email" value="'.$row['email'].'"><br />';
echo '<b>Strona www:</b><br /> ';
echo '<input type="text" size=30 name="strona" value="'.$row['strona'].'"><br />';
echo '<b>Opis:</b><br /> ';
echo '<input type="text" size=30 name="opis" value="'.$row['opis'].'"><br />';
echo '<b>Logo:</b><br /> ';
echo '<input type="file" name="plik" id="plik"><br />';
echo '<img src="'. $row['logo'] . '" /><br />';
echo '<input type="submit" value="Zmień" /> ';
echo '</form>';
echo ''.$row['nazwa'].'<br />';
echo '<a href="index.php?logout">Wyloguj się</a>';
}
a teraz kod z edytuj.php
<?php if ($_SESSION['auth'] == TRUE) {
$id_user=$_SESSION['user'];
// odbieramy dane z formularza
$kodp = $_POST['kodp'];
$miejscowosc = $_POST['miejscowosc'];
$ulica = $_POST['ulica'];
$telefon = $_POST['telefon'];
$email = $_POST['email'];
$strona = $_POST['strona'];
$opis = $_POST['opis'];
$connection = @mysql_connect($dbhost, $dblogin, $dbpass)
or die('Brak połączenia z serwerem MySQL');
$db = @mysql_select_db('adiseq_hf', $connection)
or die('Nie mogę połączyć się z bazą danych');
$plik_tmp = $_FILES['plik']['tmp_name'];
$plik_nazwa = $_FILES['plik']['name'];
$plik_rozmiar = $_FILES['plik']['size'];
if(is_uploaded_file($plik_tmp)) {
move_uploaded_file($plik_tmp, "uploads/$id_user.$plik_nazwa");
echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze
<strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!";
$ins1 = @mysql_query("UPDATE user SET logo='http://domena.pl/wizytowka/uploads/$id_user.$plik_nazwa' WHERE login='$id_user'");
}
$ins = @mysql_query("UPDATE user SET kodp='$kodp', miejscowosc='$miejscowosc', ulica='$ulica', telefon='$telefon' WHERE login='$id_user'");
if($ins)
echo 'Dane zostały zmienione poprawnie <meta http-equiv="refresh" content="1; URL=hideus.php">';
else echo "Błąd nie udało się zmienić danych";
mysql_close($connection);
}
elseif ($_SESSION['auth'] == TRUE) {
echo 'Treść dostępna tylko dla administratora<br />';
echo '<a href="index.php?logout">Wyloguj się</a>';
}
else {
echo '<meta http-equiv="refresh" content="1; URL=index.php">';
echo '<p style="padding-top:10px;color:white";><strong>Próba nieautoryzowanego dostępu...</strong><br />trwa przenoszenie do formularza logowania</p>';
}
?>
Wiem, że w kodzie jest duży bałagan ale jestem początkującym i dużo rzeczy robiłem metodą prób i błędów także proszę o wyrozumiałość ;) Wiem, też że funkcja mysql_query jest już na wymarciu ale jak na razie mi wystarczy :)
Jak proponujecie rozwiązać sprawę z rozmiarem zdjęcia? Czy da się przeskalować zdjęcie do maksymalnego rozmiaru 640x400?