Jump to content
GIGN Forum

Komentāru Pievienošana


RaaapuLis
 Share

Recommended Posts

Tātad ir komentāru skripts, rakstu niku, komentāru, un spiežu Pievienot komentāru. Komentārs peivienojas, bet kad refrešoju tad peivienotais komentārs nokopējas, un nu jau ir divi vienādi komentāri, vēlreiz refreš un jau 3 .

Kas varētu būt nepareizs?

Link to comment
Share on other sites

kods:

<?php
    if(preg_match('/^[0-9]*$/i', $_GET['raksta_id']))
        {
        if($_POST['niks'] and $_POST['komentaars'])
            {
            $niks = quote_smart(htmlspecialchars($_POST['niks']));
            $komentaars = quote_smart(htmlspecialchars($_POST['komentaars']));
            $ip = quote_smart($_SERVER['REMOTE_ADDR']);
            //print_r($_SERVER);
            mysql_query("INSERT INTO komentaari (niks, komentaars, datums, ip,raksta_id) VALUES ($niks, $komentaars, ".time().", $ip, {$_GET['raksta_id']})");
            }
        
        $result=mysql_query("SELECT virsraksts, raksts, laiks FROM jaunumi WHERE id = {$_GET['raksta_id']}");
        $row = mysql_fetch_row($result);
        
        echo "<p class='kom_title' align='center'><strong>Jaunumi:</strong> $row[0] <br>
        <a href='index.php'>Iet uz jaunumu lapu</a></p><br /><br /><br />";
        
        $result=mysql_query("SELECT id, niks, komentaars, datums FROM komentaari WHERE raksta_id = {$_GET['raksta_id']} ");
        
        while($row = mysql_fetch_array($result, MYSQL_NUM))
        
            {
            
            echo "<p class='coment'><strong>$row[1]</strong> ".date("d", $row[3])."/".date("m", $row[3])."/".date("Y", $row[3])." <br /> $row[2]<br /></p><br />";
            
            }
        
        ?>
        <form method="post" action="komentaari.php?raksta_id=<?php echo $_GET['raksta_id']; ?>">
        <input type="text" name="niks" onblur="if(this.value=='') this.value='Niks';" onfocus="if(this.value=='Niks') this.value='';" value="Niks"/><br />
        <textarea cols="40" rows="5" name="komentaars"></textarea><br />
        <input type="submit" value="Pievienot" />
        
        </form>
        <?php
        }
        
    ?>

Link to comment
Share on other sites

Nezinu, kas tas tev par brouzeri, kas pie refresh, pēc formas submitēšanas, neprasa vai atkārtoti submitēt formu. No tā var izvairīties tikai un vienīgi nosūtot cilvēku kautkur, piem uz to pašu lapu, no kuras tika submitēta forma.

// Pēc komentāra pievienošanas
header("Location: komentaari.php?raksta_id=".$_GET['raksta_id']);

Vēl kas, iesaku apskatīt 2 funkcijas: empty(), is_numeric()

Link to comment
Share on other sites

tomēr ar to headeri, atkal errors, laikam nepareizi ieliku, kur būtu jāliek tas headers?

<?php
    if(preg_match('/^[0-9]*$/i', $_GET['raksta_id']))
        {
        if($_POST['niks'] and $_POST['komentaars'])
            {
            $niks = quote_smart(htmlspecialchars($_POST['niks']));
            $komentaars = quote_smart(htmlspecialchars($_POST['komentaars']));
            $ip = quote_smart($_SERVER['REMOTE_ADDR']);
            //print_r($_SERVER);
            mysql_query("INSERT INTO komentaari (niks, komentaars, datums, ip,raksta_id) VALUES ($niks, $komentaars, ".time().", $ip, {$_GET['raksta_id']})");
            }
        
        $result=mysql_query("SELECT virsraksts, raksts, laiks FROM jaunumi WHERE id = {$_GET['raksta_id']}");
        $row = mysql_fetch_row($result);
        
        echo "<p class='kom_title' align='center'><strong>Jaunumi:</strong> $row[0] <br>
        <a href='index.php'>Iet uz jaunumu lapu</a></p><br /><br /><br />";
        
        $result=mysql_query("SELECT id, niks, komentaars, datums FROM komentaari WHERE raksta_id = {$_GET['raksta_id']} ");
        
        while($row = mysql_fetch_array($result, MYSQL_NUM))
        
            {
            
            echo "<p class='coment'><strong>$row[1]</strong> ".date("d", $row[3])."/".date("m", $row[3])."/".date("Y", $row[3])." <br /> $row[2]<br /></p><br />";
            
            }
        
        ?>
        <form method="post" action="komentaari.php?raksta_id=<?php echo $_GET['raksta_id']; ?>">
        <input type="text" name="niks" onblur="if(this.value=='') this.value='Niks';" onfocus="if(this.value=='Niks') this.value='';" value="Niks"/><br />
        <textarea cols="40" rows="5" name="komentaars"></textarea><br />
        <input type="submit" value="Pievienot" />
        
        </form>
        <?php
        }
        
    ?>

Link to comment
Share on other sites

beidz krāt postus ja nezini ko jē'dzīgu pateikt, es tā skatos, isi tavi pēdējie psoti būtu vienkārši jāizdzēš, paņem un vnk nedaudz izmainot vārdu secību atkārto to, ko citi teikuši. Nau labi wap133t :nope:

bet nu ja jau raksti, tad pasaki KUR beigās?

Link to comment
Share on other sites

itkaa ieliku

mysql_query("INSERT INTO komentaari (niks, komentaars, datums, ip,raksta_id) VALUES ($niks, $komentaars, ".time().", $ip, {$_GET['raksta_id']})");
            }
        header("Location: komentaari.php?raksta_id=".$_GET['raksta_id']);

un nekur ieprieksh failaa nau headera vairs, bet rāda

Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\komentaari.php:78) in C:\AppServ\www\komentaari.php on line 150

lasiju un domāju, un nodomaaju ka (output started at C:\AppServ\www\komentaari.php:78) 78 ir rindinja tad nu eju skatos 78-79 rindinja

</head> 
<body>

150 rinda ir tas header kods

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...