Avatar billede asdsads Nybegynder
30. juni 2004 - 22:08 Der er 11 kommentarer

Problem med php den opretter ikke

Jeg har et tourial system, når jeg trykker opret tourilanen så kommer den ikke til vis.php, men vis jeg skriver andet fx bare blah blah blah så virker det


Her er koden til der viser tourials nyhederne:

<head>
<link rel="stylesheet" href="style.css" style="tekst/css">
<title>Nyheder</title>
</head>
<?
//Made by Misko
//Side skifte
include "mysql.php";
$query = ("SELECT id FROM php;");
$result = mysql_query($query) or die("MySQL Error: " . mysql_error());
$num_rows = mysql_num_rows($result);
$max = 4;
$pages = ceil($num_rows / $max);
$_POST[besked] = ereg_replace("<","&lt;",$_POST[besked]);
$_POST[besked] = ereg_replace(">","&gt;",$_POST[besked]);

if ($_GET["page"]) {
$page = $_GET["page"];
}

else {
$page = 1;
}


//Henter Dataen fra databasen
$news = mysql_query("select id, name, dato, besked, icon FROM php ORDER BY dato desc LIMIT " . ($page - 1) * $max . ", " . $max . ";");


//Her poster jeg så minne skraves poster ud fra databasen

while($row = mysql_fetch_array($news))
{
$id = $row[id];
$name = $row[name];
$dato = $row[dato];;
$besked = $row[besked];
$icon = $row[icon];
?>

<br>
<table width='95%'>

<tr>

<td width="709" valign='top'><a href="hele_php.php?id=<? echo $id; ?>"><?=substr(htmlspecialchars($besked),0,80).((strlen($besked) > 80) ? "..." : "")?></a>
</tr>

</table>
<br>
&nbsp;&nbsp;<?

}

//Side skifet ligger det her sådan der er tal på side skiftet
for ($i = 1; $i <= $pages; $i++) {
print("<a href=\"" . $_SERVER["PHP_SELF"] . "?page=" . $i . "\">" . $i . "</a> \n");
}

//PHP systemet ender her
?>

----------
Og her er koden hvor jeg opretter den

<head>
<link rel="stylesheet" href="style.css" style="tekst/css">
<title>Misko</title>
</head>

<?
include ("mysql.php");
$date = date("Y-m-d H:i:s");

// Her kontrolere den så om der bliver trykket på send kanppen for så vil den tilføje det til din database
if ($_POST[action] == "update"){
$besked = ($_POST[besked]);
mysql_query("INSERT INTO php SET name = '$name', dato = '$date', besked = '$besked', icon = '$icon'");
echo"Indlæg er tilføjet!<br />";
}
?>

<form action=skrivphp.php method=post onSubmit="return sendMsg(this);">
<table>
<tr>
<td>Navn:</td>
<td><input type="text" name="name" size="25"></td>
</tr>
<tr>
<td>Icon:</td>
<td>

<?
//Her vil den liste alle de iconeren ud i en dropdown menu sådan folk kan velge det husk dine iconeren skal være 50x50 px hvis du ikke har en mappe der heder icon så oprete en til din iconeren
$i=0;
$handle=opendir('icon');
while ($file = readdir($handle)){
if (eregi(".jpg$",$file)){
$dropdown .= "<option value=\"$file\">$file</option>";
}
}

print "<select name=icon>$dropdown</select>";
?>


</td>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
<td valign="top">Nyhed<br />
: </td>
<td><textarea name="besked" rows="6" cols="25" onKeyUp='return countChars(this.form)' onChange='return countChars(this.form)' onKeyPress='return countChars(this.form)' maxlength="999999999999999990000099999999999"></textarea></td>
</tr>
</table>

<input type="hidden" name="action" value="update">
<input type="submit" name="update" value="Post Besked">
<br /><br />
Alle med * Bliver ikke tilgenlige for ander brugere.... HUSK jeg logger jers ip af sikker heds oversagere når i postere en besked til mig...








VED I hvad der er galt :/
Avatar billede retep Nybegynder
30. juni 2004 - 22:32 #1
Det kan da ikke være hele filen, for der mangler da nogle javascripts... Kan ikke lige umiddelbart se hvad der skulle være galt...

Som jeg læser ovenstående skal den smide tingene i databasen og skrive "Indlæg er tilføjet!" og blive på samme side... Er det ikke det den gør?
Avatar billede asdsads Nybegynder
30. juni 2004 - 22:36 #2
Mester det er ikke det samme script for før, glem det andet.. :)
Avatar billede asdsads Nybegynder
30. juni 2004 - 22:36 #3
Jo den gør det, men det komme ikke ud. Det bliver simpelhen ikke udskrivet til databasen :/
Avatar billede retep Nybegynder
30. juni 2004 - 22:40 #4
Nååh, kan godt se at det ikke er det samme som spg. før, men der kaldes nogle javascript-funktioner men de er der ikke ;)

Men jeg forstår bare ikke helt hvor problemet er... Kommer tingene ikke i databasen, eller vil du gerne have brugeren over til siden vis.php (som jeg går ud fra er det øverste script) efter der er skrevet til databasen?
Avatar billede retep Nybegynder
30. juni 2004 - 22:43 #5
Ahh... din sql er jo helt gal... Prøv at skifte:

mysql_query("INSERT INTO php SET name = '$name', dato = '$date', besked = '$besked', icon = '$icon'");
med
mysql_query("INSERT INTO php (name, dato, besked, icon) values ('$name','$date', '$besked','$icon') or die(mysql_error())";

;)
Avatar billede asdsads Nybegynder
30. juni 2004 - 22:46 #6
I hvilken af filerne
Avatar billede asdsads Nybegynder
30. juni 2004 - 22:49 #7
Nu ser det sårn her ud i skrivphp.php

<head>
<link rel="stylesheet" href="style.css" style="tekst/css">
<title>Misko</title>
</head>

<?
include ("mysql.php");
$date = date("Y-m-d H:i:s");

// Her kontrolere den så om der bliver trykket på send kanppen for så vil den tilføje det til din database
if ($_POST[action] == "update"){
$besked = ($_POST[besked]);
mysql_query("INSERT INTO php (name, dato, besked, icon) values ('$name','$date', '$besked','$icon') or die(mysql_error())";
echo"Indlæg er tilføjet!<br />";
}
?>

<form action=skrivphp.php method=post onSubmit="return sendMsg(this);">
<table>
<tr>
<td>Navn:</td>
<td><input type="text" name="name" size="25"></td>
</tr>
<tr>
<td>Icon:</td>
<td>

<?
//Her vil den liste alle de iconeren ud i en dropdown menu sådan folk kan velge det husk dine iconeren skal være 50x50 px hvis du ikke har en mappe der heder icon så oprete en til din iconeren
$i=0;
$handle=opendir('icon');
while ($file = readdir($handle)){
if (eregi(".jpg$",$file)){
$dropdown .= "<option value=\"$file\">$file</option>";
}
}

print "<select name=icon>$dropdown</select>";
?>


</td>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
<td valign="top">Nyhed<br />
: </td>
<td><textarea name="besked" rows="6" cols="25" onKeyUp='return countChars(this.form)' onChange='return countChars(this.form)' onKeyPress='return countChars(this.form)' maxlength="999999999999999990000099999999999"></textarea></td>
</tr>
</table>

<input type="hidden" name="action" value="update">
<input type="submit" name="update" value="Post Besked">
<br /><br />
Alle med * Bliver ikke tilgenlige for ander brugere.... HUSK jeg logger jers ip af sikker heds oversagere når i postere en besked til mig...





= Fejlkode
Parse error: parse error, unexpected ';' in d:\apachewebroot\my-city.dk\v2\tut\php\skrivphp.php on line 13
Avatar billede retep Nybegynder
30. juni 2004 - 22:51 #8
dooh, sorry:
mysql_query("INSERT INTO php (name, dato, besked, icon) values ('$name','$date', '$besked','$icon') or die(mysql_error())";

til

mysql_query("INSERT INTO php (name, dato, besked, icon) values ('$name','$date', '$besked','$icon')") or die(mysql_error());
Avatar billede asdsads Nybegynder
30. juni 2004 - 22:57 #9
Fx hvis jeg opretter en kode med ['table'], også jeg trykker opret så siger den

Der er en fejl i SQL syntaksen nær 'table']','')' på linje 1

Kan ikke lave nogen tourial ud af det system hvad er det galt
Avatar billede asdsads Nybegynder
30. juni 2004 - 23:03 #10
Kan evt. msn så vi kan snak der?
Avatar billede retep Nybegynder
30. juni 2004 - 23:06 #11
Så prøv:
mysql_query("INSERT INTO php (name, dato, besked, icon) values ('".addslashes($name)."','".addslashes($date)."', '".addslashes($besked)."','$icon')") or die(mysql_error());

Smutter i seng om 5 mins, så det er ved at være sidste chance ;)
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