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?