Har använt mig av samma script till många olika sidor men de har alla varit hostade av Fsdata.
Nu har jag en sida hos cliche men scriptet vill inte alls fungera där och det har något att göra med hur jag länkar.
När man väljer att tex. editera en nyhet har jag gjort en lista med en länk till varje nyhet i stil med edit.php?id=34. Därefter öppnas ju respektive nyhet beroende på vilket id.
$read = "SELECT \* FROM nyheter WHERE id=$id";
Men när jag gör det hos cliche får inte $id något värde, varpå ingen nyhet öppnas. (såklart).
Gjorde ett enkelt test.
<body>
<?=$testar?>
</body>
Laddade upp den på båda isperna och gick in på test.php?testar=blabla
Samma där, visar texten som jag skriver in efter = hos fsdata men inte hos cliche. Vad göra?
Hur man använder GET och POST korrekt vet jag tyvärr inte men använder GET i mitt lilla test och fick då det att fungera.
Hur gör jag lättast för att hämta info från en "shorttag".?
Tidigare har jag bara kört <?=$variabel?> men som jag förstår de så ligger felet där i nu?
Lär dig en regel att aldrig använda short_tags oavsett om det är aktiverat eller enklare att använda. Det är inte att rekommendera då short_tags kan skapa stora onödiga problem (i speciellt stora projekt med flera användningsområden) i framtiden exempelvis om du byter host/server/isp/etc.
Att använda GET 'korrekt' är enkelt: (sen för övrigt finns det lite 'finare' metoder såsom PDO istället för mysql(i) för databas och bättre sätt att skicka felmeddelanden till användaren.)
$id = $_GET['id'];
// Kolla om användaren skrev in en giltig siffra, lita aldrig på användaren!
if (!is_int($id)) {
echo "Nepp, inget giltigt nummer, bye bye!";
die;
} else {
$read = "SELECT * FROM nyheter WHERE id=$id";
}
Sen över till html-koden borde se ut nått såhär, skippa short_tags!:
Tack för svaret! Det gjorde att jag fick rätt på inläsningen av databasen.
Dock använder jag
if (isset($Submit)) {
för att koppla in databasen och lägga in information i den. Dock vill det inte heller fungera. Förmodar att det har något med $_GET att göra så gjorde ett försök med:
if (isset($_GET['Submit'])) {
Tyvärr ville inte de heller fungera, kan någon leda mig in på rätt väg?