|
| Hvorfor vil den ikke smide data ind ?? Fra : NeoNmaN | Vist : 675 gange 100 point Dato : 24-06-03 08:52 |
|
Haiii allle jeg sider lige og lege med noget gæste bog men kan squ ikke få den til at smide min data ind :S er max provo !! håber på der er nogen der kan hjælpe mig :D hi ih
Kilde Koden
<?
$db = mysql_connect("localhost","","");
mysql_select_db("gbog",$db);
?>
<?
$bgcolor = "#000000";
$text = "#EEEEEE";
$title = "GæsteBog V.1.0 Beta";
?>
<html>
<title><?php echo"$title"; ?></title>
<STYLE>
TD { FONT-FAMILY: verdana; FONT-SIZE: 10px }
P { FONT-FAMILY: verdana; FONT-SIZE: 10px }
BODY { FONT-FAMILY: verdana; FONT-SIZE: 10px }
A { COLOR: #FF6600; TEXT-DECORATION: none }
</style>
<body bgcolor='<? echo $bgcolor; ?>' text='<? echo $text; ?>'>
<?
if ($skriv){
$besked = str_replace("\n","<br>",$besked);
$dato_array = getdate();
$dato = $dato_array["mday"]."-".$dato_array["mon"]."-".$dato_array["year"];
mysql_query("INSERT INTO bog (navn, email, dato, besked) VALUES ('$navn','$email','$dato','$besked')");
}
?>
<center>
<form method=post action=<? echo $PHP_SELF; ?>>
<input type=hidden name=skriv value=1>
navn:<input type=text name=navn><br>
email:<input type=text name=email><br>
<textarea name=besked cols=30 rows=5></textarea><br>
<input type=submit value="send">
</form>
<br><br>
<table>
<?
$foresp = mysql_query("SELECT navn,email,dato,besked FROM bog ORDER BY id DESC");
while($data = mysql_fetch_row($foresp)){
echo "<tr><td valign=top>";
echo "Fra: <a href='mailto:$data[1]'>$data[0]</a>";
echo "<br>$data[2]";
echo "</td><td valign=top>$data[3]</td></tr>";
}
?>
</table>
</center>
</body>
</html>
| |
| Kommentar Fra : Jin2k |
Dato : 27-06-03 18:20 |
|
phoolan -> mysql_select_db vælger hvilken database, der skal bruges ikke hvilken tabel.
Nu ved jeg ikke om du har fjernet dit MySQL brugernavn med vilje eller hvad, men det er det er ihvertfald temli' væsentligt. Ellers ville jeg prøve at bruge $data[navn] i stedet for $data[0] i tilsvarende for de andre værdier.
Det kunne også være at du har register_globals slået fra. I så fald skal du bruge følgende kode, eller ligende modificeringer:
<?
if ($_REQUEST[skriv]){
$besked = str_replace("\n","<br>",$_REQUEST[besked]);
$dato_array = getdate();
$dato = $dato_array["mday"]."-".$dato_array["mon"]."-".$dato_array["year"];
mysql_query("INSERT INTO bog (navn, email, dato, besked) VALUES ('$_REQUEST[[navn]','$_REQUEST[email]','$dato','$besked')");
}
?>
Håber du får det til at virke.
- Jin
| |
| Kommentar Fra : phoolan |
Dato : 27-06-03 18:58 |
|
Ja, det er da rigtigt, Jin....jeg sov vist lige der *GGG* Men noget slår mig...
NeoNmaN, du skal lige tjekke, at din database faktisk hedder gbog - så vidt jeg kan se, bruger du scriptet fra "Start på PHP" (hæftet fra IDG), og der kalder de databasen for gbog - men hvis du har en database hos et webhotel, kan det godt være, at den hedder noget andet...i så fald skal du i stedet for "gbog" skrive databasens navn...hos freepaq.dk hedder databaserne f.eks. dit_domænenavn_db ...
| |
| Kommentar Fra : TEgg |
Dato : 16-07-03 16:03 |
|
Hej :) Jeg har prøvet dit GB-system over min egen Apache/PHP og MySQL-server.. Det virker upåklageligt på min.. Sådanne fejl kan skyldes MANGE ting.. Men prøv som sagt først at tjekke om dine tabelnavne er rigtige.. Normalt (Nu ved jeg ikke hvordan du har konfigureret din PHP.ini) vil MySQL melde fejl, hvis MySQL_Connect() mislykkes, så man må formode, at du HAR forbindelse til databasen.. Derfor tror jeg også at Phoolan tar fejl med hensyn til, at fejlen ligger i Select_DB()-kommandoen :)
-- Fordi så vidt jeg kan forstå er dette KUN et skrive problem, men IKKE et læseproblem.. Har jeg RET?.. Du kan jo prøve at tilføje en Entry i PHPmyadmin (hvis du bruger det) .. Så ka du i hvert fald hurtigt kontrollere, om den læser korrekt.
Under alle omstændigerheder kan dit problem også skyldes en evt. Type Mismatch fejl. .. PAS PÅ!!! Hvis du f.eks. angir datoen til at være af typen DATE (eller lignende) .. Jeg vil anbefale, at med mindre det er MEGET vigtigt, så sæt typen til TINYTEXT.. Jeg kan se længere nede i dit script, at du også har en primær nøgle som hedder ID. Sørg for at denne har typen INT og ikke SMALLINT eller TINYINT.. I så fald overskrider du måske værdigrænsen og denne fejl kan ske.. og SIDST men ikke mindst.. :) Beskedfeltet.. Sæt det til typen TEXT og ikke TINYTEXT.. Så er du sikker på at den heller ikke bliver for stor..
<- MEN.. test først om du overhovedet kan læse fra databasen.. Hvis IKKE, så er det et connection-problem.. Ellers så prøv at kigge på den smøre jeg lige har skrevet og vend gerne tilbage.. ;) OHØJ
| |
| Accepteret svar Fra : TEgg | Modtaget 100 point Dato : 16-07-03 16:16 |
|
... Lige en lille tilføjelse.. :) Her er linket til DIN kode, der kører på min server.. Så se selv.. http://www.mgsound.dk/test.php .. Jeg skal nok slette det, når dit problem er løst. :P Min MySQL-database ser SÅDAN ud:
id [INT] primary auto_increment
navn [TINYTEXT]
email [TINYTEXT]
dato [TINYTEXT]
besked [TEXT]
.. og jeg har IKKE ændret DIN kode..
| |
| Godkendelse af svar Fra : NeoNmaN |
Dato : 08-08-03 12:12 |
| | |
| Du har følgende muligheder | |
|
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.
Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
| |
|
|