sorunlar PHP_SELF kullanarak aynı sayfada iki kez gönderme ...

3 Cevap

im yine php ile ilgili bir sorun yaşıyorsanız ... Sonra ben birden fazla formları ile bir sayfa oluşturduk ve bunu test ederken ben ilk form değerleri (devam eden tam ve reddetmek ile) işlenmiş olduğunu öğrendim ama cant 2. formu aynı şekilde işlemek gibi görünüyor. ne sorun olabilir?

herhangi bir yardım sitenin tüm kullanıcılarına ... mutlu yeni yıl mutluluk duyacağız!

   <? 

    if (array_key_exists('complete',$_POST)) {
                echo "Sucess!";
                exit;
                };

    ?>

            <?php   

    $days = range (01, 31);
    $months = range (1, 12);
    $y1 = date("Y")-2;
    $y2 = date("Y");
    $years = range ($y1, $y2);

    if (array_key_exists('caseStatus',$_POST)) {
                    $case = $_POST['case'];

    if ($case == 'complete')
    { 
    echo 'Please set the date on which the case was <b>completed</b>.<p>';
    echo "<form action='" . $_SERVER['PHP_SELF'] . "' method='post'>"; 
    echo '<select name="completeDay">';
    foreach (range(1, 31) as $day) {
        echo '<option value="'.sprintf("%02d", $day).'">'.sprintf("%02d", $day).'</option>';
    }   echo '</select>';
    echo '<select name="completeMon">';
    foreach (range(1, 12) as $month) {
        echo '<option value="'.sprintf("%02d", $month).'">'.sprintf("%02d", $month).'</option>';
    }   echo '</select>';
    echo '<select name="completeYr">';
    foreach ($years as $value) {
        echo '<option value="'.$value.'">'.$value.'</option>';
    }   echo '</select>
    <p>
    <input type="hidden" name="complete" value="1"/> 
    <input name="submit" type="submit" value="Save"/> 
    <input type="button" value="Cancel" onclick="window.location=\'\'"/>
    </form>
    '; 
    exit;
    } 
<form method="POST" action="<?php echo $_SERVER['PHP_SELF'] . '?id=' . intval($client_id); ?>">
    <select name="case" class="rta">
      <option value="<?php echo $row_caseStatus['progress']; ?>" selected="selected"><?php echo $row_caseStatus['progress']; ?></option>
      <option value=""></option>
      <option value="ongoing">ongoing</option>
      <option value="complete">complete</option>
      <option value="reject">reject</option>
      </select>
    <input type="submit" name="caseStatus" id="caseStatus" value="Save" />
                                    <input type="hidden" name="caseStatus" value="1"/> 
    <br />
  </form>

3 Cevap

<?php

    if (array_key_exists('complete',$_POST)) {
                echo "Sucess!";
                exit;
                };

    ?>

Basit bir hata ... sadece açılış php etiketi düzenlemek için gerekli!

Zor olduğunu biliyorum tam olarak nedir daha ayrıntılı olmadan yanlış gidiyor.

aslında 2 form veya kelime "sucess" görüyorsunuz?

Bu sorun daha fazla bilgi olmadan ne olduğunu söylemek zor. Eğer outputted HTML gönderebilir miyim? Eğer bu yöntem özniteliği geçiyoruz diğer değişkenler ile ilgili bir sorun olmadığından emin misin?

Aslında, sen yapıyorsun zaman intval($client_id) bir tamsayı içine bir dize veya diğer non-tamsayı değiştirmeye çalışırken aslında olabilir?

Eğer sıkı XHTML bağlı kalarak eğer Ayrıca, sadece bir not olarak, bunun yerine 'POST' of 'yazılan' için formun yöntemi özniteliği ayarlamak gerekir.