Script php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Script php

Re: Script php

par Mazarini » 07 nov. 2011, 12:37

DELETE FROM formulaire_admin where id = XXXXX

Autrement, vérifie le HTML : <td><a href="supprimer.php?s=$ID">supprimer</a></td>
Ne faut il pas mettre "echo $ID" comme pour les autres données ? ou mettre l'id provenant de la table ?

Re: Script php

par Overcride » 06 nov. 2011, 17:55

Mon code*

Quelqu'un serrais m'aiguiller pour que je ne supprimer qu'un seule champ de la table ? svp

Re: Script php

par Overcride » 06 nov. 2011, 17:54

Merci pour ta réponse j'ai eu ce que je désiré et en plus j'ai compris ^^, j'ai un autre soucis que pareil je n'arrive pas à régler. J'ai rajouter un lien supprimer à mon tableau pour pouvoir supprimer uniquement la ligne conservé. Problème : mon lien supprime tous ma table :/

monde code donne ca:

formulaire.php:
<tr>
		<td><?php echo htmlspecialchars($donnees['speudo']); ?></td>
		<td><?php echo htmlspecialchars($donnees['steam_amis']); ?></td>
		<td><?php echo htmlspecialchars($donnees['steam_ID']); ?></td>
		<td><?php echo htmlspecialchars($donnees['date_fr']); ?></td>
		<td><?php echo htmlspecialchars($donnees['date_fin']); ?></td>
		<td><a href="supprimer.php?s=$ID">supprimer</a></td>
	</tr>
supprime.php
<?php
	try
	{
		$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
		$bdd = new PDO('mysql:host=???;dbname=ipaa2', '???', '???', $pdo_options);
    
		$req = $bdd->prepare('DELETE FROM formulaire_admin');
		$req->execute(array($_GET['s']));
    
		header('Location: formulaire.php');
	}
	catch(Exception $e)
	{
		die('Erreur : '.$e->getMessage());
	}
?>

Re: Script php

par moogli » 05 nov. 2011, 19:25

salut,

y a quoi la normalement ? <td>Il reste <?php echo htmlspecialchars($donnees['???']); ?>jour(s) avant expiration</td>

je suppose date_expiration ?

SELECT DATE_FORMAT(date_debut, \'%d/%m/%Y\') AS date_fr, DATE_ADD(date_fin, INTERVAL 1 MONTH) AS date_expiration
tu prend la date de debut et tu lui applique un formatage, ça c'est bon
après tu prend la date de fin et tu lui ajoute un mois je ne vois pas l'interet dans ton cas :mrgreen:

si tu a un champ date de fin autant la mettre directement en dur ;)
si tu veut le gérer dynamiquement c'est
 
select date_add(date_debut, interval 1 month) as date_fin 
-- ou 

select date_debut + interval 1 month as date_fin

-- bien entendu tu peux y appliquer un date_format par dessus :)
select date_format(date_debut + interval 1 month, '%d/%m/%Y) as date_fin
tu peux tester cela facilement avec la console sql comme ceci
select date_format(now() + interval 1 month, '%d/%m/%Y') as date_fin;
qui donne
+------------+
| date_fin |
+------------+
| 05/12/2011 |
+------------+
1 row in set (0.00 sec)
@+

Script php

par Overcride » 05 nov. 2011, 17:04

Bonjour,
J'essaie de créer un script qui gère les admins d'un serveur de jeu. Je voudrais que grace à un formulaire je puisse stocker dans une base de donnée, le speudo du joueur et quelques autres données mais aussi faire un genre de compte à rebours pour me rappeler dans combien de temps il ne sera plus admin. Hors tous ce passe bien sauf le compte à rebours que je ne sais absolument pas faire et après quelque recherche je n'ai pas compris. Ou alors ca ne me dérange pas de mettre juste la date d'expiration mais la aussi ca coince car après que j'utilise DATE_ADD je en sais pas utiliser DATE_FORMAT ... pour mettre au format JJ/MM/AAAA.

Les dates dans ma base de donnée ont l’attribut DATE.

Je m'excuse si je suis pas assez précis n’hésitai pas à me demander plus d'info.

J'ai 3 page :

Index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">

	<head>
		<title>test</title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
	</head>
	
	<body>
	
		<table>
			<caption>Liste des admins</caption>
			<tr>	
				<th>Speudo</th>
				<th>Steam amis</th>
				<th>Steam_ID</th>
				<th>Date de début</th>
				<th>Date de fin</th>
			</tr>
			
			<?php
				try
				{
					$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
					$bdd = new PDO('mysql:host=???;dbname=???', '????', '???', $pdo_options);
						
					$req = $bdd->query('SELECT id, speudo, steam_amis, steam_ID, DATE_FORMAT(date_debut, \'%d/%m/%Y\') AS date_fr, DATE_ADD(date_fin, INTERVAL 1 MONTH) AS date_expiration FROM formulaire_admin ORDER BY id DESC');
						
						
						
					while ($donnees = $req->fetch())
					{
			?>

						<tr>
							<td><?php echo htmlspecialchars($donnees['speudo']); ?></td>
							<td><?php echo htmlspecialchars($donnees['steam_amis']); ?></td>
							<td><?php echo htmlspecialchars($donnees['steam_ID']); ?></td>
							<td><?php echo htmlspecialchars($donnees['date_fr']); ?></td>
							<td>Il reste <?php echo htmlspecialchars($donnees['???']); ?>jour(s) avant expiration</td>
						</tr>
						

			<?php
					}
							
					$req->closeCursor();
  
				}
				catch(Exception $e)
				{
					die('Erreur : '.$e->getMessage());
				}
			?>
		</table>
		<br/>
		<br/>
		Pour mettre un nouveau admin cliquer <a href="admin/formulaire.php">ici</a>.

	</body>

</html>
Formulaire.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">

	<head>
		<title>exemple</title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
	</head>
	
	<body>	
		<?php
			if (!isset($_POST['mot_de_passe']) OR $_POST['mot_de_passe'] != "???")
			{
		?>
				Veuillez entrer le mot de passe
				<form action="formulaire.php" method="post">
					<input type="password" name="mot_de_passe" />
					<input type="submit" value="Valider" />
				</form>
		<?php		
			}
			else
			{
		?>
				<p>
					<h2>test</h2>
					<form action="formulaire_post.php" method="post">
						<table>
							<tr>
								<td><label for="speudo">Speudo</label> :</td>
								<td><input type="text" name="speudo" id="speudo" /></td>
							</tr>
							
							<tr>
								<td><label for="steam_amis">Steam_amis</label> :</td>
								<td><input type="text" name="steam_amis" id="steam_amis" /></td>
							</tr>
							
							<tr>
								<td><label for="steam_ID">Steam_ID</label> :</td>
								<td><input type="text" name="steam_ID" id="steam_ID" /></td>
							</tr>
							
							<tr>
								<td></td>
								<td><input type="submit" value="Envoyer" /></td>
							</tr>
						
						</table>
					</form>
				</p>
		<?php
			}

		?>
	</body>
</html>
Formulaire_post.php
<?php
	try
	{
		$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
		$bdd = new PDO('mysql:host=???;dbname=???', '????', '???', $pdo_options);
    
		$req = $bdd->prepare('INSERT INTO formulaire_admin (speudo, steam_amis, steam_ID, date_debut, date_fin) VALUES(?, ?, ?, CURDATE(), CURDATE())');
		$req->execute(array($_POST['speudo'], $_POST['steam_amis'], $_POST['steam_ID'], ));
    
		header('Location: ../index.php');
	}
	catch(Exception $e)
	{
		die('Erreur : '.$e->getMessage());
	}
?>
Vous pouvez voir le résultat sur http://www.overcride.fr/exemple/script_php_liste_admin