Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Formularz i skrypt wykonywany na tej samej stronie - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: Formularz i skrypt wykonywany na tej samej stronie (/thread-formularz-i-skrypt-wykonywany-na-tej-samej-stronie)



Formularz i skrypt wykonywany na tej samej stronie - benny - 08-05-2011

Witam,

Chodzi mi o kwestię następującą:
Mam formularz, który ma kilka inputów do których jQuery przy pomocy ich wartości zapisuje pewne dane.
Chciałbym, aby po kliknięci w przycisk, wykonał się skrypt do których te dane są potrzebne i przeniósł mnie na następną stronę, np. za pomocą header.

Kod mam następujący:
Kod:
<? if (!isset($_POST['next'])) { ?>
<script type="text/javascript" src="/modules/baner/client/jquery.imgareaselect.pack.js"></script>
<link rel="stylesheet" type="text/css" href="/resources/css/imgareaselect.css" />
<script>
    function preview(img, selection) {
        var widthNormal = $('#uploaded').width();
        var heightNormal = $('#uploaded').height();

        var scaleX = 654 / selection.width;
        var scaleY = 231 / selection.height;

        $('#preview img').css({
            width: Math.round(scaleX * widthNormal),
            height: Math.round(scaleY * heightNormal),
            marginLeft: -Math.round(scaleX * selection.x1),
            marginTop: -Math.round(scaleY * selection.y1)
        });
        
        $('#x1').val(selection.x1);
        $('#y1').val(selection.y1);
        $('[name=w]').val(widthNormal);
        $('[name=h]').val(heightNormal);
    }
    
    $(document).ready(function () {
        $('img#uploaded').imgAreaSelect({
            maxWidth: 654,
            maxHeight: 231,
            minWidth: 654,
            minHeight: 231,
            resizable: false,
            handles: false,
            onSelectChange: preview
        });
    });
</script>
    
<div class="desk-all-container">
    <? include $menu ?>
    <div class="profile-container">
        <div class="profile-content">
            <h1>Ustawienia głównego banera</h1>
            <h2>Kliknij na obrazku i ustaw obszar, który będzie widoczny na banerze.</h2>
            <img src="<? print $folder.$p_nazwa_zm; ?>" id="uploaded" style="width: 100%" alt="Obraz" />
            <div id="preview" style="display: none; width: 654px; height: 231px; overflow: hidden;">
                <img src="<? print $folder.$p_nazwa_zm; ?>" style="width: 654px; height: 231px" alt="Obraz" />
            </div>
            <form action="?option=baner|upload&lang=<? print $lang; ?>" method="post">
                <input type="hidden" id="x1" value="" />
                <input type="hidden" id="y1" value="" />
                <input type="hidden" name="w" value="" />
                <input type="hidden" name="h" value="" />
                <input type="submit" name="next" value="Dalej" style="text-align: right; color: #333399; font-size: 12px; font-weight: bold; background: #f0f0f0; border: 0;" />
            </form>
        </div>
    </div>
</div>
<?
    if(!@move_uploaded_file($p_smiec, $folder.$p_nazwa_zm))
        exit('Nie mozna zachowac pliku. Prawdopodobnie nie ma folderu lub nie można w nim zapisać');
        
    } else {
        $plik = $folder.$p_nazwa;
        $nowy = $folder."baner_".$p_nazwa;
        $img = imagecreatefromjpeg($plik);
        $width  = imagesx($img);
        $height = imagesy($img);

        $width_mini = $_POST['w'];
        $height_mini = $_POST['h'];
        $img_mini = imagecreatetruecolor($width_mini, $height_mini);

        imagecopyresampled($img_mini, $img, 0, 0, 0, 0, $width_mini , $height_mini, $width  , $height);

        imagejpeg($img_mini, $nowy, 100);
        imagedestroy($img);
        imagedestroy($img_mini);
        
        $podpis = $podpis_pl;
        $path_file=$folder.$p_nazwa_zm;
        $db = connect_db();
        if ($both == 1) {
            $lang = 'both';
            $podpis = $podpis_pl.'|'.$podpis_en;
        }
        $query = "INSERT INTO baner VALUES (NULL, '$path_file', '$p_typ', '$lang', '$podpis')";
        $result = $db -> query($query);
        header("Location: ?option=baner?lang=".$lang);
    }
?>

Niestety po kliknięciu przycisku "DALEJ", kod się nie wykonuje.

Dodam, że jestem w sumie nowicjuszem i wszystko robię na tutorialach, ucząc się przy tym. Bardzo proszę o naprowadzenie na rozwiązanie problemu. Jest do na pewno jakaś błahostka, jednak ja nie jestem w stanie tego rozgryźć, z powodu braku doświadczenia.