0

我在原型阶段。

我使用 post-redirect-get 方法制作了我的自定义电子邮件 php 页面。我的问题是:

我在填写电子邮件表格时故意犯了错误。名称必须是字母数字,但我输入的名称不是字母数字。正如我所期望的那样,我的验证页面会重定向到带有错误警告的邮件发送页面。

url 正是我所期望的,但尽管我检查了我的变量,但我无法将 url GET 值打印到屏幕上。你能帮我么?

为什么我不能通过$_GET变量将值从 url 打印到屏幕?我应该怎么办?

谢谢, BR

带有错误警告的网址(如我所料)

http://localhost/english/contact?if_isim=john!*nash&if_eposta=example@dot.com&if_mesaj=message&eposta_hatalari=Only%20letters%20and%20numbers%20are%20allowed%20in%20name%20input.%3Cbr%20/%3E

以及我希望填充先前填充的输入并打印累积的错误消息的相关页面。(但什么都不做)

<?php 
//okur bilgileri kaybolmasın
if (!isset($_GET['if_isim'])) {$if_isim_d = "";} else {$if_isim_d = $_GET['if_isim'];}
if (!isset($_GET['if_eposta'])) {$if_eposta_d = "";} else {$if_eposta_d = $_GET['if_eposta'];}
if (!isset($_GET['if_mesaj'])) {$if_mesaj_d = "";} else {$if_mesaj_d = $_GET['if_mesaj'];}

//hata mesajı
if (!isset($_GET['eposta_hatalari'])) {$hatali_eposta_d = '';} else {$hatali_eposta_d = $_GET['eposta_hatalari'];}
?>

            <div class="sol-icerik-kapsar">
                <?php if ($hatali_eposta_d !='') {echo $hatali_eposta_d;} //varsa hatalar yazdırılıyor ?>
                <form method="post" id="iletisim-formu" action="<?php echo sitenin_koku.'eposta-doğrula'; ?>">
                        <fieldset id="fset-iletisim">
                            <legend id="leg-iletisim" class="font75"><?php if ($page_language == 'tr') {echo 'İletişim Formu:';} else {echo 'Contact Form:';} ?></legend>
                            <label for="if_isim"><span class="font75"><?php if ($page_language == 'tr') {echo 'İsminiz:';} else {echo 'Name:';} ?></span></label><br />
                            <input type="text" value="<?php echo $if_isim_d; ?>" name="if_isim" id="if_isim" /><br />
                            <label for="if_eposta"><span class="font75"><?php if ($page_language == 'tr') {echo 'E-posta adresiniz:';} else {echo 'E-mail:';} ?></span></label><br />
                            <input type="text" value="<?php echo $if_eposta_d; ?>" name="if_eposta" id="if_eposta" /><br />
                            <input type="hidden" name="dilang" value="<?php echo $adres_get_elemanlari[0]; ?>">
                            <label for="if_mesaj"><span class="font75"><?php if ($page_language == 'tr') {echo 'Mesajınız:';} else {echo 'Message:';} ?></span></label><br />
                            <textarea rows="6" cols="20" name="if_mesaj" id="if_mesaj"><?php echo $if_mesaj_d; ?></textarea><br />
                            <input type="submit" id="epostayolla" class="font75" value="<?php if ($page_language == 'tr') {echo 'Gönder';} else {echo 'Send';} ?>" />
                        </fieldset>
                </form><!-- end #iletisim-formu -->
            </div><!-- end .sol-icerik-kapsar -->

我怀疑也许我应该在URLENCODE()某个地方使用!希望它能点亮你心中的灯泡。

4

1 回答 1

0

我使用过print_r($_GET)并且看到它$_GET没有携带来自表单元素和错误变量的附加值。

我的问题与这个这个这个帖子直接相关。

明确地说,我的问题是:如果没有正确的 .htaccess 设置,可能无法将 $_GET 变量添加到(mod rewrite 驱动的)SEO 友好的好 URL。

于 2013-02-23T19:32:09.370 回答