php script maken voor sql code

Status
Niet open voor verdere reacties.

regitbull

Gebruiker
Lid geworden
16 nov 2007
Berichten
25
hello,

Ik gebruik vbulletin op mijn website en ik gebruik deze sql code om de paid subscription eind datum te verlengen voor bepaalde vip groepen.

Dit is de code:
[SQL]
UPDATE `illusion_forum`.`subscriptionlog` SET `expirydate` = `expirydate` + '430000' WHERE `subscriptionid` = 17
[/SQL]


Nu wil ik hier eigenlijk een een php scriptje van maken met 2 in te vullen veld opties.
Namelijk en text veld voor expirydate` = `expirydate` + '430000' zodat ik de waarde makelijk kan veranderren in de tekst veld zoals in dit geval 430000

En een tekst veld voor WHERE `subscriptionid` = 17 om in te vullen welke subscription id, in dit geval weer 17.

Zoiemand mij kunnen helpen door een voorbeeld scipt te posten zodat ik hier een php scriptje van kan maken, zou een heleboel dingen makelijker maken voor me.
Ik denk niet dat dit een heel moeilijk php scriptje is maar voor iemand als mij zonder php ervaring is het toch wel een flinke klus.

Alvast bedankt voor de gene die me wil helpen met dit.
 
HTML:
<?php
if ($_SERVER['REQUEST_METHOD'] == "POST")
{
  $query = "UPDATE `illusion_forum`.`subscriptionlog` SET `expirydate` = `expirydate` + " . $_POST['expirydate'] . " WHERE `subscriptionid` = " . $_POST['subscriptionid'];
  mysql_query($query) or die ("Fout in query [$query]: " . mysql_error());
}
else
{ ?>
<form name="formulier" action="" method="post">
<input type="text" name="expirydate">
<input type="text" name="subscriptionid">
<input type="submit" name="sbm" value="verstuur">
</form>
<?php
}
?>

Dit zijn de relevante regels voor zo'n scriptje. Ik ben ervan uitgegaan dat dit alleen door jou gebruikt gaat worden, daarom is er geen beveiliging tegen SQL-injectie toegevoegd.
 
bedankt Supersnail.
Het werkt perfect.

Ja klopt alleen ik zelf en een andere admin gaan dit script gebruiken dus ben niet bankg voor sql injection.

Ik heb alleen nog 1 vraag.
Nadat ik op submit klik krijg ik een blanke pagina, het script heeft wel gewoon zijn werk gedaan.
Ik heb een beetje gegoogled na een redirect after submit maar ik krijg of steets mysql errors of het script doet het niet.
Heb al dingen geprobeerd als
PHP:
<input type="hidden" name="good_url" value="http://www.helpmij.nl/">

Zou je me misschien kunnen zeggen hoe ik een redirect kan maken naar een andere .php pagina of een text kan laten zien dat het script succesfull is uitgevoerd en me weer terug brengt naar de script pagina.

Dit zou effe wat fijner werken omdat ik dan geen blanke pagina meer krijg en ik weet zeker dat het is gelukt door de successfull text berichtje.

Hoop dat je me hier nog effe mee kan helpen.
 
Een redirect doe je zo:
PHP:
if ($_SERVER['REQUEST_METHOD'] == "POST")
{
  $query = "UPDATE `illusion_forum`.`subscriptionlog` SET `expirydate` = `expirydate` + " . $_POST['expirydate'] . " WHERE `subscriptionid` = " . $_POST['subscriptionid'];
  mysql_query($query) or die ("Fout in query [$query]: " . mysql_error());
  header("Location: http://www.helpmij.nl");
}

Dit werkt echter niet als er al uitvoer (bijvoorbeeld HTML-code) is geweest. Je moet er dus voor zorgen dat er op die pagina niets boven de PHP-code staat.

[edit]Een succesvol-bericht toevoegen is wat lastiger. Het bericht komt bij een redirect immers niet in beeld.[/edit]
 
Laatst bewerkt:
@SuperSnail
Edit:
Een succesvol-bericht toevoegen is wat lastiger. Het bericht komt bij een redirect immers niet in beeld.
jawel hoor, met
header("Refresh:3 ;url=blahblah.php?id=iets&name=willempie");
>>>> hier dan je output/html <<<
exit();//om te zorgen dat script niet verder loopt

Hiermee zal de header pas na 3seconden worden doorgestuurd naar de opgegeven url.
En alles wat erna staat zal dan nog worden uitgevoerd.

Ik weet alleen niet of de format van de header zo juist is uitgetypt, maar dat kun je zelf ook wel ff googlen!
 
thx SuperSnail dit werkt perfect, stom dat ik dit nergens kon vinden.

Ik heb zelf een simple php redirect pagina gemaakt die eerst een text bericht laat zien en na 5 sec redirect.
Nadat ik nu op submit klik redirect de php script naar de redirect.php pagina met het text berichtje en links dan weer terug naar het orginele form pagine.
Misschien een beetje amateuristisch maar werkt wel perfect en zoals ik wil.

Bedankt voor je hulp heeft me egt uit de brand geholpen.
Nu ik dit werkend heb hoef ik het niet meer handmatig in phpmyadmin te doen.

Nog een fijne avond.

Edit: @phobia ooh ok bedankt, hier kan ik nog naar kijken om dit 2de php bestandje niet meer nodig te hebben.
Bedankt voor jullie hulp.
 
Laatst bewerkt:
van je 2de pagina maak je zoiets (naam bv msg.php)

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<?PHP
	echo $msg;
?>
</body>
</html>

en op je pagina waar je een redirct doet, doe je iets van

PHP:
$msg = "<b><center><span> Bericht is verstuurd</span></center></b>";
header("Refresh:3 ;url=blahblah.php?id=iets&name=willempie");
include("msg.php");
exit();//om te zorgen dat script niet verder loopt

Nu zal de msg.php geshowed worden tijden de pauze met je gemaakte text/styling

Zo kun je de msg.php steeds hergebruiken en hoef je hem maar 1x te stylen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan