Goedeavond phpers,

Ik heb een script die moet doorlinken maar kom er niet uit.

Als iemand de vote afrond dan wil ik graag dat die op 2 manieren door gelinkt kan worden.
Als ik in database een table aanmaak van pingback dat die hem door stuurt naar link die de gene heeft ingevuld.
Als die table leeg is dat die dan gewoon de window die geopend is sluit, dat doet die nu namelijk al.
Hopelijk kan iemand mee helpen hier onder de script.

hier nog de website als u de vote wilt testen.


<div class="modal fade" id="vote" tabindex="-1" role="dialog" aria-hidden="true">
	<div class="modal-dialog">
		<div class="modal-content">
			<?php if(!User::logged_in() && @$account_user_id == $server->data->user_id) { ?>
				<div class="modal-header">
					<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
					<h4 class="modal-title"><?php echo $language['errors']['command_denied']; ?></h4>
				</div>
				<div class="modal-footer">
					<button type="button" class="btn btn-default" data-dismiss="modal"><?php echo $language['misc']['close_modal']; ?></button>
				</div>
			<?php } else { ?>
			<form method="post" role="form" class="vote">
				<div class="modal-header">
					<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
					<h4 class="modal-title"><?php echo $language['server']['sidebar_vote']; ?></h4>
				</div>

				<div class="modal-body">

					<div class="form-group">
						<input type="hidden" name="token" value="<?php echo $token->hash; ?>" />
						<input type="hidden" name="type" value="1" />
					</div>


					<div class="form-group" id="vote_recaptcha">

					</div>

				</div>

				<div class="modal-footer">
					<button type="button" class="btn btn-default" data-dismiss="modal"><?php echo $language['misc']['close_modal']; ?></button>
					<button type="submit" class="btn btn-default"><?php echo $language['forms']['submit']; ?></button>
				</div>
			</form>
			<?php } ?>
		</div>
	</div>
</div>

<script>
$(document).ready(function() {
	/*Get the recaptcha code */
	$('#vote').on('show.bs.modal', function () {
		$('#recaptcha').appendTo('#vote_recaptcha').show();
	});
	/* Transfer the recaptcha code */
	$('#vote').on('hide.bs.modal', function () {
		$('#recaptcha').appendTo('#recaptcha_base').hide();
	});

	/* Initialize the success message variable */
	var SuccessMessage = $('#response').html();
	
	$('form.vote').submit(function(event) {
		var $button = $(this).find(':submit');

		/* Close the modal */
		$('#vote').modal('hide')
		
		/* Get the form element the submit button belongs to */
		var $form = $(this).closest('form');

		/* Get the values from elements on the specific form */
		var Data = $form.serializeArray();
		
		/* Insert the captcha code into the posting data */
		var recaptcha_response_field = $('[name="recaptcha_response_field"]').val();
		var recaptcha_challenge_field = $('[name="recaptcha_challenge_field"]').val();
		Data.push({name: 'recaptcha_response_field', value: recaptcha_response_field}, {name: 'recaptcha_challenge_field', value: recaptcha_challenge_field});
		
		/* Post and get response */
		$.post('processing/process_votes.php', Data, function(data) {
			$('html, body').animate({scrollTop:0},'slow');

			if(data == "success") {

				/* Display success message */
				$('#response').html(SuccessMessage).fadeIn('slow');

				/* Increment the vote number */
				$('#votes_value').text(parseInt($('#votes_value').text()) + 1);


			} else {

				$('#response').hide().html(data).fadeIn('slow');
				
			}
			setTimeout(function() {
				$('#response').fadeOut('slow');
			}, 5000);

			/* Clear the textarea */
			$('textarea').val('');

			/* Reload recaptcha */
			Recaptcha.reload();
		});

		event.preventDefault();
	});

});
</script>
>> Als ik in database een table aanmaak van pingback dat die hem door stuurt naar link die de gene heeft ingevuld.

waaaaaat?

Een tabel maak je aan tijdens het inrichten van je website. Daarna ga je geen tabellen meer aanmaken. Wel records aan tabellen toevoegen / wijzigen/ lezen / verwijderen.

pingback??? wat the f**k bedoel je daar mee?

doorsturen naar de link die de gene heeft ingevuld?
Dus als gebruiker moet ik zelf een URL verzinnen, deze invullen en dan wordt ik daar naar toe gestuurd? Daar heb ik een url-balk voor in mijn browser..

Lang verhaal kort: er is geen eind aan vast te knopen. Vertel ons eens wat je wilt gaan maken en neem de moeite om dit goed uit te leggen.
Een pingback is een link naar *jouw* pagina, dus je houdt referrals bij om pingbacks te bepalen. Verder ga ik geheel met Frank mee, ik had het niet beter kunnen zeggen.
Uhm..

Klanten plaatsen hun website op mijn website zo gehete toplist. (Vote list topsite hoe je het wilt noemen)
Dan zetten ze een image op hun site van mijn website als mensen daar op klikken gaan ze naar de vote pagina.
Dan gaat hun site weer 1 omhoog in de lijst.

Nou als die vote compleet is blijven ze op mijn website.
Maar nu will ik aanmaken dat als gevote is, dat die mensen een url kunnen toevoegen waarmee ze de gene kunnen belonen als ze vote.
Dat die naar website.nl/api.php door linkt dat hun credits krijgen om voor die gene gevote tehebben.

Hopelijk is dit duidelijker
Stukken duidelijker :-).

Je gebruikt blijkbaar een popup venster? (omdat je zegt dat deze al sluit). Ik wil je aanraden om hier vanaf te stappen en in plaats daarvan een popup te maken met een <div> en wat css. Dit wordt ook wel een Modal of Modal box genoemd. uitleg en voorbeeld.

Verder kun je vanuit PHP prima doorlinken maar er is een valkuil die veel mensen over het hoofd zien.

De gebruiker doorsturen gaat zo:

<?php
header('Location: http://je-eigen-server/';);
exit; // vergeet deze niet anders loopt je script nog vrolijk door
?>

Echter mag de header() functie alleen gebruikt worden voordat er enige OUTPUT verzonden wordt.
Dit betekent dat je pagina met een php blok moet beginnen (en niet met html) en dat er met php niets ge-echo-ed wordt voordat je de header functie gebruikt.

Dit is direct een begin van een "good practice": Programmlogic before output: Splits je script op in twee delen. Het eerste deel is PHP: het aanmaken van variabelen, afhandeling van formulieren, database queries etc maar GEEN OUTPUT. Het tweede deel is je HTML met daar tussen kleine blokjes php die er enkel voor zorgen dat de benodigde variabele data ge-echo-ed wordt.

Zie ook mijn voorbeeldje in dit draadje
Dankjewel voor je antwoord.
Dus het is beter om een externe pagina voor te maken.
Dat ik deze hou als mensen klikken via mijn website en dan als van buiten komt naar een andere vote pagina wordt gestuurd en daar een nieuwe script te maken met een pingback url
Popupvensters worden gewoon vaak geblokkeerd door browsers. Bovendien ga je het erg ingewikkeld maken omdat je dan ineens met twee pagina's zit in plaats van één.
Bij een Modal is het gewoon één pagina met ook één HTML bron. Vooral met het gebruik van javascript werkt dit veel makkelijker.

Verder moet je gewoon denken in Request en Response. Een gebruiker vraagt een url op en jij geeft een html pagina terug. Ik hou formulieren (Een vote is ook een formulier) en de afwerking van dat formulier altijd op één pagina om de simpele reden dat je de gebruiker op diezelfde pagina wil houden zolang het formulier onvoldoende of foutief ingevuld is. Pas als alle gegevens door jouw validatie goedgekeurd worden ga je een actie verrichten en wil je doorgaans de gebruiker doorsturen naar een andere pagina. Dat is ook precies wat je ziet in mijn voorbeeld waarnaar ik in mijn vorige reactie verwees.

Reageren