PHP

Study
Użytkownik
Użytkownik
Posty: 1
Rejestracja: 20 sty 2009, o 18:14
Płeć: Mężczyzna

PHP

Post autor: Study »

Witam
mógłby mi ktos pomoc zrobic program Wypożyczanie samochodów Chodzi żeby do wyboru byly z 3 samochody Jak wybiorę 1(podam date rezerwacji)i jak ktoś inny będzie chcial samochód w tym samym czasie to musi wyskakiwać informacja W Tym terminie jest już zarezerwowany

Z gory dzięki za wszelka pomoc
Pozdrawiam
Najarany
Użytkownik
Użytkownik
Posty: 18
Rejestracja: 11 sty 2009, o 15:26
Płeć: Mężczyzna
Lokalizacja: pl.
Podziękował: 3 razy

PHP

Post autor: Najarany »

Cześć. Mam tu dla Ciebie kod, o który prosiłeś.

plik:samochody.php

Kod: Zaznacz cały

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />
  <meta http-equiv="reply-to" content="Adres_e-mail" />
  <meta name="generator" content="WebSite PRO 4.2" />
  <meta name="author" content="Autor_dokumentu" />
  <meta name="description" content="Opis" />
  <title>Rezerwacja samochodu</title>
</head>
<body>
<?
if(count($_POST)){//sprwadzamy czy formularz został wysyłany
if($_POST['sam'] && $_POST['d'] && $_POST['m'] && $_POST['r'] && $_POST['g'] && $_POST['min']){ //sprawdzamy czy wszystkie dane zostały dostarczone
        $plik='rezerwacja.txt';//ścieżka do pliku
        $termin_nowy=mktime($_POST['g'], $_POST['min'], 0, $_POST['m'], $_POST['d'], $_POST['r']); // z danych w formularzu tworzymy uniksowy czas
        if(file_exists($plik)){//sprawdzamy czy plik istnieje
        
                if(filesize($plik)){ //sprawdzamy rozmiar pliku jeżeli jest pusty to nie ma potrzeby sprawdzać jego zawartości
                        $online=file($plik);//pobieramy zawartość pliku wierszami
                        foreach($online as $on){// i przetwarzamy wiersze, wygląd wiersza" id_samochodu|termin_wyporzyczenia "
                                $ex=explode('|',$on);// rozczepiamy string na dwie cześci aby uzyskać odzielnie id_smaochodu i termin wyporzyczenia
                                $id=trim($ex[0]);// trim() czysci string z niechcianych spacji, tabow itp (tak na wszeliki wypadek;p)
                                $termin=trim($ex[1]);
                                if($id==$_POST['sam'] && $termin == $termin_nowy)$err='Samochód został juz zarezerwowany w tym terminie proszę spróbować wybrać inny smaochód lub zmienić date';// tego nie trzeba chyba tłumaczyć xD
                        }
                }
                
                if(!$err){ //sprawdzam czy nie powstał error i jęzeli nie to jedziemy dalej
                        $content=$_POST['sam'].'|'.$termin_nowy."\\r\\n"; // tworzymy tresc do dodania
                        $uchwyt=fopen($plik, "a+");// i dodajemy do zawartości pliku
                        fwrite($uchwyt, $content);
                        fclose($uchwyt);
                        echo 'Samochód został zarezerwowany pomyślnie! Pracownik firmy skontaktuje się z państwem w celu ustalenia szczegółów';//wszystko zapisane i cacy wyświetlamy kompunkat ;p
                }else echo $err; // w innym wypadku go wyświetlamy:)
                
        }else die('plik nie istnieje'); //jeżeli plik nie istnieje wyświetlamy error i zatrzymujemy skrypt

}else echo'Błąd wzystkie pola muszą być wypełnione!';
}
?>
<form method="post">
<table border="0" cellspacing="3" cellpadding="3">
<tr>
     <td>Samochód:</td>
     <td><select name="sam">
<option value="1">Sam 1</option>
<option value="2">Sam 2</option>
<option value="3">Sam 3</option>
     </select></td>
</tr>
<tr>
     <td>Data(dzień-miesiąc-rok; godzina:minuta)</td>
     <td>
     <input type="text" name="d" style="width:20px;"/> -
     <input type="text" name="m" style="width:20px;"/> -
     <input type="text" name="r" style="width:20px;"/>;
     <input type="text" name="g" style="width:20px;"/> : <input type="text" name="min" style="width:20px;"/>
     </td>
</tr>
<tr>
     <td colspan="2"><input type="submit" value="wyślij" /></td>
</tr>
</table>

</form>			
</body>
</html>
Utwórz również plik rezerwacja.txt.. Ten plik nie powinien nic zawierać (oczywiście przed pierwszą rezerwacją). Kod trochę niechlujnie napisany (szczególnie te komentarze), bo tworzony na szybko.
Autorem skryptu jest Mankej - () i to jemu trzeba podziękować za wykonaną pracę.

Pzdr.
ODPOWIEDZ