Avatar billede bachome Nybegynder
14. oktober 2004 - 10:47 Der er 21 kommentarer og
1 løsning

at skrive til db

Hejsa
Jeg er ved at lave et mini CMS-system, men har prob.
På min localhost kan jeg godt skrive til db'en men når jeg uploader den til mit webhotel virker det ikke.
Koden som indeholder formen ser sådan ud:

....
if (isset($_POST['password']) && $kodeord==$_POST['password']) {
                            include 'includes/dbconn.php';
                            $sql = "SELECT * FROM feedback order by id desc";
                            if (!$result = mysql_query($sql)) {
                                      echo "Databaseaktiviteten gav intet resultat!";
                            exit;
                            }
                        echo "
                        <div class='inner'>
                        <form name='iform' method='post' action='feedback_skriv.php?funktionen=ins'>
                            <table border='0' cellpadding='0' cellspacing='5' bordercolor='#000000'>
                                  <tr>
                                    <td align='left' valign='top' colspan='3'><b>Spørgsmål:</b></td>
                                    </tr>
                                    <tr>
                                        <td colspan='3'>
                                            <textarea cols='80' rows='10' name='spg'></textarea>
                                        </td>
                                      </tr>
                                      <tr>
                                          <td align='left' valign='top' colspan='2'><b>Svar:</b></td>
                                    </tr>
                                    <tr>
                                          <td colspan='3'>
                                            <textarea cols='80' rows='10' name='svar'></textarea>
                                          </td>
                                      </tr>
                                      <tr>
                                        <td width='30' valign='top'><input type='Submit' name='insert' value='OK'></td>
                                        <td width='20'><input type='reset' name='reset' value='Ryd felter'></form></td>
                                        <td width='600'>
                                            <form action='feedback_slet.php' method='post'>
                                                <input type=button value='Slet Spg. / Svar'
                                                onclick=\"window.location='feedback_slet.php'\">
                                            </form>
                                        </td>
                                    </tr>
                            </table>
                            </form>
                        </div>";
                        mysql_query($sql) or die(mysql_error(LINK));
                        mysql_close($dblink);
                        }
...
Avatar billede mjl Nybegynder
14. oktober 2004 - 10:49 #1
Har du lavet din dbconn om til serverens?
Avatar billede jop... Nybegynder
14. oktober 2004 - 10:49 #2
Hvordan ser dbconn.php ud?
Avatar billede bachome Nybegynder
14. oktober 2004 - 10:50 #3
ja...min..jeg benytter en include.php fil...jeg kan sagtens hente det fra db'en i andre php.filer
Avatar billede bachome Nybegynder
14. oktober 2004 - 10:52 #4
Koden i include filen ser sådan ud (uden mine koder)

<?

$databaseuser = "brugernavn";
$databasepassword = "kodeord";
$databasename = "databasens navn";
$databaseserver = "localhost";


//Opret forbindelse til databaseserver
$dblink = mysql_connect($databaseserver,$databaseuser,$databasepassword)
or die(mysql_error());
mysql_select_db($databasename)
or die(mysql_error());
?>
Avatar billede jop... Nybegynder
14. oktober 2004 - 10:53 #5
Og du er helt sikker på, at du har kopieret databasen direkte ovger på dit webhotel også?
Avatar billede jop... Nybegynder
14. oktober 2004 - 10:54 #6
$databaseserver = "localhost"; <-- Skal det jo ikke være, når du har uploadet? Bare vi lige er enige om det?
Avatar billede bachome Nybegynder
14. oktober 2004 - 10:54 #7
ja, jeg kan fint logge ind via phpmyadmin...og har importeret den som txt fil
Avatar billede bachome Nybegynder
14. oktober 2004 - 10:55 #8
$databaseserver = "localhost"; virker fint på et andet domaine jeg har¨på samme webhotel
Avatar billede mjl Nybegynder
14. oktober 2004 - 10:55 #9
$databaseuser = "brugernavn";
$databasepassword = "kodeord";
$databasename = "databasens navn";
$databaseserver = "localhost";

Disse skal jo ændres på serveren - ikke det samme som på din egen kværn!
Avatar billede bachome Nybegynder
14. oktober 2004 - 10:56 #10
...det virker fint på min localhost med php 4.3.3, men på webserveren med php 4.2.2 virker det ikke!!!
Avatar billede bachome Nybegynder
14. oktober 2004 - 10:57 #11
mjl: det er jeg udemærket klar over...desuden kan jeg jo sagtens hente fekst fra db'en også i samme php.fil!!!
Avatar billede bachome Nybegynder
14. oktober 2004 - 10:58 #12
højere oppe i samme fil har jeg denne funktion som kaldes ved form-requestet:

if ($funktionen=="ins") {
    include 'includes/dbconn.php';
        $spget = $_POST['spg'];
        $svaret = $_POST['svar'];
        $sql = "INSERT INTO feedback (spg, svar)
                  VALUES('$spget','$svaret');";
    mysql_query($sql) or die(mysql_error(LINK));
    mysql_close($dblink);
   
    echo "<script type='text/javascript'>
    top.document.location.href='feedback.php'
    </script>";
   
}
Avatar billede bachome Nybegynder
14. oktober 2004 - 10:59 #13
denne funktion virker fint på min localhost, men ikke på webserveren!!!?
Avatar billede bachome Nybegynder
14. oktober 2004 - 11:08 #14
hvad kan det skyldes?
Avatar billede mjl Nybegynder
14. oktober 2004 - 11:57 #15
Måske forstår Ver. 4.2.2 ikke $_POST['spg'] bare et skud i tågen!
Avatar billede sukos Juniormester
14. oktober 2004 - 13:13 #16
Hvad er
mysql_error(LINK)
???
Avatar billede bachome Nybegynder
16. oktober 2004 - 10:44 #17
jeg har fundet ud af hvordan fejlen opstår, men ved ikke hvordan jeg skal løse den!
Mit funktionskald virker ikke med uden at jeg lavede et Hidden-felt som poster en variabel. Funktionen ser sådan ud:

if (($_POST['funktionen'])=="ins") {
    include 'includes/dbconn.php';
        $spget = $_POST['spg'];
        $svaret = $_POST['svar'];
        $sql = "INSERT INTO feedback (spg, svar)
                  VALUES('$spget','$svaret');";
    mysql_query($sql) or die(mysql_error(LINK));
    mysql_close($dblink);
   
    echo "<script type='text/javascript'>
    top.document.location.href='feedback.php'
    </script>";
   
}       
...hvordan kan det være.

Desuden har jeg samme problem når jeg vil slette en tekst fra db'en.

while ($arrow = mysql_fetch_array($result)) {
                                    $entitet1 = str_replace("\n", "<br>", $arrow[1]);
                                    $entitet2 = str_replace("\n", "<br>", $arrow[2]);
                                    echo "<table border='1' width='678' cellpadding='2' bordercolor='#000000'><tr>\n";
                                          printf("<td width='668' bgcolor='#808080' align=\"left\">
                                                    <font color='#ffffff'><b>%s</b></font></td>", "Spørgsmål");
                                        printf("<td bgcolor='#C86868' width='10'><font color='white'><b>
                                        <a name='slet' href=\"feedback_slet.php?id=%s&funktionen=del\" class='email'>slet</a></b></font></td></tr>\n",  $arrow[0]);
                                          printf("<tr><td colspan='2' bgcolor=\"#c0c0c0\" align=\"left\">%s</td></tr>\n", $entitet1);
                                        printf("<td colspan='2' bgcolor='#808080' align=\"left\"><font color='#ffffff'><b>%s</b></font></td></tr>\n", "Svar");
                                        printf("<tr><td colspan='2' bgcolor=\"#c0c0c0\" align=\"left\">%s</td></tr></table><br>\n", $entitet2);
                                      }
...det er som om at det ikke kan lade sig gøre uden at variabler er sat til Global!!!
HJÆLP!!!
Avatar billede bachome Nybegynder
16. oktober 2004 - 11:01 #18
det skulle stå: (($_POST['funktionen'])=="ins") i funktionen
når jeg skriver echo $_POST['funktionen']; kommer der intet output på skærmen!!!
Det er som om at dette link ikke virker:
<a name='slet' href=\"feedback_slet.php?id=%s&funktionen=del\" class='email'>slet</a>
jeg har også prøvet at slette: name='slet' i linket
Avatar billede baitianlong Nybegynder
17. oktober 2004 - 16:13 #19
Når den kommer med i URL'en skal det jo være $_GET['funktionen'] :)
Avatar billede bachome Nybegynder
18. oktober 2004 - 17:44 #20
hej legende.dk
jeg kunne bruge dit svar ;)
Avatar billede baitianlong Nybegynder
18. oktober 2004 - 18:30 #21
Det glæder mig... Nogen gange kan man ikke se skoven for bare træer :P
Avatar billede bachome Nybegynder
18. oktober 2004 - 18:37 #22
hvis du er frisk har jeg et andet spg.:
http://www.eksperten.dk/spm/551354
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester