Tolong pilih kategori sesuai, jenis posting (pertanyaan atau bukan) dan sertakan tag/topik yang sesuai misal komputer, php, mysql, dll.
Promosi atau posting tidak pada tempatnya akan kami hapus.
Mencantumkan kode program di posting Anda, tolong ikuti aturan yang sesuai, baca http://diskusiweb.com/discussion/39204/aturan-cara-menyisipkan-kode-program-di-diskusiweb

Baca cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

php 4 to php 5.6

edited November 2017 in Diskusi Pemrograman & IT
Salam semuanya,

mohon maaf sebelumnya jika bahasan ini telah ada sebelumnya, saya terbiasa memakai php4 pada windows, berhubung sekarang "dipaksa" untuk memakai linux dengan php 5.6 maka program web base saya yg semula berjalan dengan baik di php4, sekarang di php 5.6 tidak berjalan sama sekali, alias banyak error

berikut yang saya ingin tanyakan jika program saya jalankan akan muncul : Notice: Undefined index: status in /var/www/html/coba/repeatorder.php on line 171
<td width="28%" class="style5">Pilih Status</td>
<td width="2%">:</td>
<td width="70%">
<?php
echo "<select name='status' onChange='this.form.submit()'>";
echo "<option value=0 selected>Pilih Status</option>";
 
$sql=mysql_query("select * from status order by status");
while ($data=mysql_fetch_array($sql))
{
if ($data[status]==$_GET[status]) //ini line 171
{
echo "<option value=$data[status] selected>$data[status]</option>";
$status=$data[status];
}
else
{
echo "<option value=$data[status]>$data[status]</option>";
}
}
echo "</select>";
?>
</td>
apa yang harus saya lakukan ? jika saya tambahkan ' ' pada setiap kata status, maka program tidak ada tampilan error apapun kecuali blank putih aja, mohon petunjuk suhu php-mysql di sini

terima kasih banyak

Tanggapan

  • edited November 2017
    yah ... php 4 masih dipake ... apa kagak salah to mas ?

    dan mumpung belum ...
    ndak ada yg namanya kepaksa pake php 5 ...
    sekalian jalankan pake php 7.
    jadi kalo benerin error ndak tanggung, sekalian.

    install di pc / laptop yg buat koding php 7 nya.
    php 4 itu tahun brp mas ...

    php 7 fungsi mysql_*() sdh pasti hilang dan harus pake fungsi mysqli_*()
    tapi php 5, mysqli_*() sudah ada.

    ...

    itu salah karena elo nulis string pake "..." ... double-quote.

    $a = "abc";
    echo "def $a hij";

    ok, bisa.
    tapi bakal jadi ribet kalo ketemu ama array.
    karena array punya index, dan index nya ndak mesti angka.

    dari awal, kalo koding yg baik, bener, disiplin ...
    itu semestinya nulis koding kaya begini :

    $a = 'abc'; // pake single-quote;
    echo 'def' . $a . 'hij'; // concat pake operand dot

    kenapa pake single-quote ?
    karena kalo pake "..." php pasti akan selalu mem-parsing string itu,
    mencari kemungkinan kalo ada variabel di dalamnya.
    sementara kalo pake single-quote, itu pasti string, dan diperlakukan php betul2 sebagai string.
    jadi meringankan beban parser php nya.

    kalo pake single-quote dan ketemu array ...

    $a['abc'] = 'abc';
    echo 'def' . $a['abc'] . 'hij';

    ...

    tapi yakin sih, elo nulis koding pake "..." pasti sudah seabrek :D

    [1]
    kalo elo pake double-quote ...
    elo tetep bisa concat pake operand dot juga ...

    $a['abc'] = "abc";
    echo "def" . $a['abc'] . "hij";

    tapi kalo dari sisi php nya : "def" & "hij" bakal diparsing php, masih harus concat juga ...
    ndak optimal.

    [2]
    atau pake {}

    $a['abc'] = "abc";
    echo "def {$a['abc']} hij";

    [3]
    atau elo matikan error notice di setting php nya :

    error_reporting=E_ALL & ~E_NOTICE

    tapi beneran, ini cara yg tidak bertanggung jawab.
    masalah itu harusnya diperbaiki, bukan ditutupi.

    ...

    jadi ya terserah elo ...
    mau koding yg baik, optimal, dan mau pindah ke versi brp pun pasti jalan ...
    atau mau koding asal jalan ...
  • edited November 2017
    http://php.net/supported-versions.php


    Version specific notes
    PHP 5.6
    As it is the final PHP 5 release, support for PHP 5.6 has been extended: active support will run for an additional four months, and the security fix period has been doubled from one to two years. Other releases are unaffected.

    5.6 sudah mau almarhum juga :D

    http://php.net/eol.php


    php 4 ...
    yg 4.4 aja sudah di-museum-kan 9 tahun yang lalu :D
  • @labalaba iya bro mohon maklum saya dagang jadi ngga ada waktu mempelajari update2 baru, oh ya bro, tolong tanya, kalau dari code yang saya lampirkan bagian mana ya ada yang salah antara "" dan '' karena sudah saya coba ganti2 malah error, perpaduan antara php dan html membuat saya bingung harus pakai "" atau '' mohon bantuannya

    terima kasih
  • edited November 2017
    ya kalo dari awal disiplin ...

    string html dan javascript pake : "..."

    pemanggilan javascript di dalam html yg pake parameter string, misal : onclick="somefunction('parameter');"

    php : '...'

    ...

    yg elo tanya kan sudah gw tulis semua.
    sudah gw kasih alternatif 3 pilihan yg bisa elo pake kalo elo bertahan pake "..."
    lihat alternatif nomer [2] aja wis ...
    tinggal nambah '...' buat index
    dan {...} buat variabel nya

    soalnya gw sudah yakin, penulisan string elo emang "..." semua.
    jadi kalo mau diubah ke '...' ... ya ampun-ampun aja ...
  • @labalaba ok bro, i get it, gw coba dulu yah, kayaknya script gw terlalu ribet, seharusnya combo box pakai html biasa aja ngga usah dimasukkan ke php, nanti valuenya baru diisi php

    thanks
Sign In or Register to comment.