Gå til innhold

Lagre data til MySQL, safe-mode?


Anbefalte innlegg

Hei, har en shoutbox som jeg har brukt på et annet nettsted. Nå prøver jeg å få shoutboxen til å funke på www.b-one.net, der siden er for øyeblikket. Jeg har kun endret databasenavn, bruker og pass. Ellers er alt som før og shoutboxen har fungert som bare det på den tidligere siden.

 

Jeg får kontakt med databasen, men når verdiene skal skrives inn vil ikke verdiene inn i databasen.

 

I og med at shoutboxen funker bra på en annen side, tror jeg det ikke er feil med koden, er det noe jeg må gjøre på php-my-admin siden?

 

Her er fila som åpner databasen, lagrer osv.

<?php

class shoutbox {

var $listlimit;

var $bgcolor1;

var $bgcolor2;

 

function connect() {

mysql_connect("localhost", "iamarandompersa", "pass") OR die ("Connection Error to Server");

mysql_select_db("iamarandompersa") OR die("Connection Error to Database");

}

 

function displayform() { //display the shoutbox form

?>

<script type="text/javascript">

<!--

function sjekk(s) {

if (s.shoutname.value.length == 0 || s.shoutname.value == "name"){

alert("Navn er ikke utfylt!")

s.shoutname.focus()

return false

}

if (s.shout.value.length == 0 || s.shout.value == "shout") {

alert("Du må fylle inn et shout!")

s.shout.focus()

return false

}

return true

}

//-->

</script>

 

<TABLE WIDTH="100%" BORDER="0" CELLPADDING="4" CELLSPACING="0">

<FORM NAME="shout" ACTION="index.php" METHOD="post" onsubmit="return sjekk(this)">

<TBODY>

<TR>

<TD ALIGN="center">

<INPUT TYPE="text" VALUE="name" NAME="shoutname" SIZE="15"><BR>

<INPUT TYPE="text" VALUE="shout" NAME="shout" SIZE="15"><BR>

<INPUT TYPE="submit" NAME="submit" VALUE="Shout!"> <INPUT TYPE="reset" VALUE="Reset">

</TD>

</TR>

</TBODY>

</FORM>

</TABLE>

<?php

}

 

function displayshoutbox() { //displays shouts in the table up to the defined limit

echo "<p>

<TABLE WIDTH=\"100%\" BORDER=\"0\" CELLPADDING=\"4\" CELLSPACING=\"0\">

";

$shoutboxResult = mysql_query("SELECT * FROM myshout ORDER BY

shoutid DESC LIMIT $this->listlimit;");

 

if ($shoutboxRow = mysql_fetch_array($shoutboxResult)) {

do {

$shoutid = $shoutboxRow[shoutid];

$shoutname = $shoutboxRow[shoutname];

$shoutdate = $shoutboxRow[shoutdate];

$shoutmsg = $shoutboxRow[shoutmsg];

 

$shoutmsg = wordwrap($shoutmsg, 19, "\n", 1);

$bgcolor = ($count++ % 2) ? "$this->bgcolor1" : "$this->bgcolor2";

 

echo "<TR><TD BGCOLOR=\"$bgcolor\"><b>$shoutname</b>: $shoutmsg<DIV ALIGN=\"right\">

<i>$shoutdate</i></DIV></TD></TR>\n";

}

while($shoutboxRow = mysql_fetch_array($shoutboxResult));

}

else {

echo "No shouts yet";

}

echo "</TABLE>";

}

 

function insertshout($shoutname, $shout) { //insert data into table

$shoutname = strip_tags($shoutname);

$shout = strip_tags($shout, '<a><b><i><u>'); //strip html tags allowing only <a><b><i><u>

if (mysql_query ("INSERT INTO myshout (shoutname, shoutmsg, shoutdate) VALUES

('$shoutname', '$shout', NOW())")) {

echo "";

}

else {

echo mysql_error();

}

}

 

} //fra class shoutbox

?>

------------------------------------------------------------------------------------------------

 

Her er koden jeg har i index.php fila.

<?php

require_once("/customers/iamarandomperson.com/iamarandomperson.com/httpd.www/shoutbox.php");

if($submit){

$shoutbox = new shoutbox;

$shoutbox->connect();

$shoutbox->insertshout($shoutname, $shout);

header("Location: $PHP_SELF");

}

// Important! You have to include it before your html code

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<title>Untitled Document</title>

</head>

 

<body>

<table width="100%" cellpadding="0" cellspacing="0">

<tr>

<td class="knapp">Shoutbox</td>

</tr>

<tr>

<td class="shout">

<!-- Maks width=146 -->

<?php

$shoutbox = new shoutbox;

$shoutbox->listlimit = "15";

$shoutbox->bgcolor1 = "#A6A6A7";

$shoutbox->bgcolor2 = "#D7D7D7";

$shoutbox->connect();

$shoutbox->displayform();

$shoutbox->displayshoutbox();

?>

</td>

</tr>

</table>

</body>

</html>

------------------------------------------------------------------------------------------------

 

Ble en litt lang tråd, men håper dere gidder å hjelpe hvis dere kan.

Som sagt funker koden helt fint på et annet nettsted (har bare copy->paste) koden over til siden jeg har nå og byttet ut oppkoblingen mot mysql serveren.

Endret av ken8
Lenke til kommentar
Videoannonse
Annonse

Ja, mener å ha lest noe om at de kjører safe-mode.

Hva vil det si at de kjører i safe-mode? Tror jeg kan skru av safe-mode?

 

Hvis jeg forstår rett, så må jeg endre php-koden min siden serveren kjører safe-mode?

 

Har litt dårlig tid nå, men skal se bedre på det senere.

 

Takk for innspillet.

Lenke til kommentar
Da må du hente variablene med $_POST eller $_GET.

Unnskyld at jeg blander meg her, men lurer bare på et enkelt spørsmål.

 

Når man skal hente variablene, som du sier, trenger man bare å skrive slik øverst i koden da? Ikke gjøre noe annet enn det?

$sted = $_GET['sted'];

$tid = $_GET['tid'];

Lenke til kommentar

Jeg sliter litt.

Er det i denne funksjonen jeg må endre?

function insertshout($shoutname, $shout) { //insert data into table

$shoutname = strip_tags($shoutname);

$shout = strip_tags($shout, '<a><b><i><u>'); //strip html tags allowing only <a><b><i><u>

if (mysql_query ("INSERT INTO myshout (shoutname, shoutmsg, shoutdate) VALUES

('$shoutname', '$shout', NOW())")) {

echo "";

}

else {

echo mysql_error();

}

}

 

Er det INSERT INTO jeg må endre? Hvis du har peiling har du tid til å endre det for meg??

Takker så mye

Lenke til kommentar
Jeg sliter litt.

Er det i denne funksjonen jeg må endre?

function insertshout($shoutname, $shout) { //insert data into table

$shoutname = strip_tags($shoutname);

$shout = strip_tags($shout, '<a><b><i><u>'); //strip html tags allowing only <a><b><i><u>

if (mysql_query ("INSERT INTO myshout (shoutname, shoutmsg, shoutdate) VALUES

('$shoutname', '$shout', NOW())")) {

echo "";

}

else {

echo mysql_error();

}

}

 

Er det INSERT INTO jeg må endre? Hvis du har peiling har du tid til å endre det for meg??

Takker så mye

Når du kaller funksjonen insertshout i index.php her:

 

$shoutbox->insertshout($shoutname, $shout);

 

må du sikkert bytte ut $shoutname og $shout med hhv. $_POST["shoutname"] og $_POST["shout"]

 

:thumbup:

Lenke til kommentar
Når du kaller funksjonen insertshout i index.php her:

 

$shoutbox->insertshout($shoutname, $shout);

 

må du sikkert bytte ut $shoutname og $shout med hhv. $_POST["shoutname"] og $_POST["shout"]

Jeg prøvde det her, og insert funksjonen er i shoutbox.php.

 

Prøvde flere versjoner av den $_POST greia, men da ble aldri index.php vist på siden. Jeg prøvde $_POST[shoutname], $_POST[$shoutname],$_POST["shoutname"], men ingen ting hjalp. Eneste gang jeg får opp siden, er når jeg bruker den jeg hadde, men da lagres ikke dataene i mysql databasen...

 

Her er funskjonen (orginale):

function insertshout($shoutname, $shout) { //insert data into table

$shoutname = strip_tags($shoutname);

$shout = strip_tags($shout, '<a><b><i><u>'); //strip html tags allowing only <a><b><i><u>

if (mysql_query ("INSERT INTO myshout (shoutname, shoutmsg, shoutdate) VALUES

('$shoutname', '$shout', NOW())")) {

echo "";

}

else {

echo mysql_error();

 

Dere kan jo prøve den.. www.iamarandomperson.com/shout

Takker alle som prøver å hjelpe meg her :yes:

Lenke til kommentar
  • 3 måneder senere...

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...