Page 1 sur 1
Scriptaculous dans PHP
Posté : 05 oct. 2011, 23:47
par Mousbet
Bonjour,
Je développe actuellement une petite base de données personnelle pour mes disques. J'ai quasiment terminé mon projet mais un petit truc de rien du tout me bloque :/
Depuis un formulaire de modification, j'aimerais afficher un petit message type "Modifications enregistrées" grâce à un Scriptaculous mais je ne trouve pas la syntaxe nécessaire pour l'intégrer dans un echo php.
Je précise que le formulaire et le script fonctionnent parfaitement lorsqu'ils sont séparés, c'est l'intégration qui me pose problème...
<?php
while($data = mysql_fetch_assoc($resultat))
{ echo
'<form id="formedit" name="formedit" method="post" action="">
[...]
<input class="bouton" type="submit" value="Modifier" name="modifier" onclick="Effect.SlideDown(\'slidedown2\'); return false;" action=""/></form>';} ?>
<div id="slidedown2" style="display:none;">
<p>Modifications enregistrées</p>
</div>
J'ai essayé avec des ' " \ . Toutes les combinaisons qui me sont passées par la tête mais je ne trouve pas.
Merci d'avance pour votre aide!

Re: Scriptaculous dans PHP
Posté : 05 oct. 2011, 23:53
par frexios
Essay en mettant :
echo <<<EOF
Ton code HTML ici, par exemple :
<FONT COLOR="Red">Je n'ai plus de problèmes avec les antislashes ou les $variables =)</FONT>
EOF;
Re: Scriptaculous dans PHP
Posté : 06 oct. 2011, 00:01
par Mousbet
Merci, je connaissais pas cette technique. je sens que ça va m'être utile... à condition que j'arrive à m'en servir :p
J'ai essayé de plusieurs façons je n'arrive pas mieux
<<<EOF <input class="bouton" type="submit" value="Modifier" name="modifier" onclick="Effect.SlideDown('slidedown2'); return false;" EOF; />
Re: Scriptaculous dans PHP
Posté : 06 oct. 2011, 00:03
par frexios
Dans ton cas c'est plutôt :
echo <<<EOF
<input class="bouton" type="submit" value="Modifier" name="modifier" onclick="Effect.SlideDown('slidedown2'); return false;" />
EOF;
Re: Scriptaculous dans PHP
Posté : 06 oct. 2011, 00:10
par Mousbet
Dans ton cas c'est plutôt :
echo <<<EOF
<input class="bouton" type="submit" value="Modifier" name="modifier" onclick="Effect.SlideDown('slidedown2'); return false;" />
EOF;
Arf, négatif. Ça ne fonctionne pas non plus

Re: Scriptaculous dans PHP
Posté : 06 oct. 2011, 00:11
par frexios
Tu obtiens quoi au juste ?
Et qu'est ce que tu as mis "exactement" ? (copie la totalité du script).
Re: Scriptaculous dans PHP
Posté : 06 oct. 2011, 00:13
par Mousbet
Ouaip, j'ai copié/collé et re-vérifié.
Visiblement l'interprétation du code ne peut se faire, vraiment un problème de syntaxe car:
Code : Tout sélectionner
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\Program Files\Easy PHP\www\MusicDB-2\php\edit.php on line 71
<?php
while($data = mysql_fetch_assoc($resultat))
{ echo
'<form id="formedit" name="formedit" method="post" action="">
Artiste: <input name="edit-artiste" type="text" class="input-text" value="'.$data['artiste'].'"/><br />
Album: <input name="edit-album" type="text" class="input-text" value="'.$data['album'].'"/><br />
Annee: <input name="edit-annee" type="text" class="input-text" value="'.$data['annee'].'"/><br />
Genre: <input name="edit-genre" type="text" class="input-text" value="'.$data['genre'].'"/><br />
Pays: <input name="edit-pays" type="text" class="input-text" value="'.$data['pays'].'"/><br />
Label: <input name="edit-label" type="text" class="input-text" value="'.$data['label'].'"/><br />
Support: <select name="edit-support" class="input-text" size="1">
<option value="CD">CD</option>
<option value="MP3">MP3</option>
<option value="10">10</option>
</select>
Rank: <select name="edit-level" class="input-text" size="1">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select><br />
<<<EOF <input class="bouton" type="submit" value="Modifier" name="modifier" onclick="Effect.SlideDown('slidedown2'); return false;" /> EOF;
</form>';} ?>
Re: Scriptaculous dans PHP
Posté : 06 oct. 2011, 00:14
par frexios
Ta du te tromper quelque part

ya quoi à la ligne 71 ?
Le mieux serait que tu copie le contenu du script comme sa je pourrais vite trouver l'origine du problème et le corriger.
edit: grillé! lol je check ton script.
Re: Scriptaculous dans PHP
Posté : 06 oct. 2011, 00:16
par frexios
La c'est mieux
<?php
while($data = mysql_fetch_assoc($resultat))
{ echo
'<form id="formedit" name="formedit" method="post" action="">
Artiste: <input name="edit-artiste" type="text" class="input-text" value="'.$data['artiste'].'"/><br />
Album: <input name="edit-album" type="text" class="input-text" value="'.$data['album'].'"/><br />
Annee: <input name="edit-annee" type="text" class="input-text" value="'.$data['annee'].'"/><br />
Genre: <input name="edit-genre" type="text" class="input-text" value="'.$data['genre'].'"/><br />
Pays: <input name="edit-pays" type="text" class="input-text" value="'.$data['pays'].'"/><br />
Label: <input name="edit-label" type="text" class="input-text" value="'.$data['label'].'"/><br />
Support: <select name="edit-support" class="input-text" size="1">
<option value="CD">CD</option>
<option value="MP3">MP3</option>
<option value="10">10</option>
</select>
Rank: <select name="edit-level" class="input-text" size="1">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select><br />';
echo <<<EOF
<input class="bouton" type="submit" value="Modifier" name="modifier" onclick="Effect.SlideDown('slidedown2'); return false;" />
</form>
EOF;
} ?>
Re: Scriptaculous dans PHP
Posté : 06 oct. 2011, 00:25
par Mousbet
lol, ouais j'ai édité pour coller mon script
Par contre ça ne fonctionne toujours pas.

Le JS s'exécute bien mais aucune modif de l'entrée...
Et j'ai essayé de remettre les EOF sur la même ligne, j'obtiens:
Code : Tout sélectionner
Parse error: syntax error, unexpected T_SL in C:\Program Files\Easy PHP\www\MusicDB-2\php\edit.php on line 71
Re: Scriptaculous dans PHP
Posté : 06 oct. 2011, 00:30
par frexios
Faut pas les mettre sur la même ligne sinon sa cause une erreur..
A partir du moment ou la page s'affiche correctement tu dois rechercher ailleurs que dans ton code PHP, il faut vérifier le code HTML / Javascript.
Re: Scriptaculous dans PHP
Posté : 06 oct. 2011, 00:33
par Mousbet
Faut pas les mettre sur la même ligne sinon sa cause une erreur..
A partir du moment ou la page s'affiche correctement tu dois rechercher ailleurs que dans ton code PHP, il faut vérifier le code HTML / Javascript.
Ah ok, j'ai lu ailleurs justement qu'il fallait mettre sur la même ligne mais effectivement, ça déconne directement.
Bon, je vais chercher ailleurs sur la page mais je n'ai aucune idée d'où ça peut venir... merci beaucoup pour ton aide!
Sinon, dans le cas où je n'arrive pas avec ce petit effet Scriptaculous, existe-t'il un moyen plus simple d'afficher un message de confirmation? Au pire, comment est-ce que je peux-être redirigé vers la page index.php une fois la requête de modification envoyée?
edit: c'est bizarre parce que séparément, les deux fonctionnent très bien. Et le code source avec EOF ,affiché dans le navigateur paraît totalement cohérent... :/
Re: Scriptaculous dans PHP
Posté : 06 oct. 2011, 00:56
par frexios
Est ce que tu peut coller le code source de la page obtenu sur le navigateur ainsi que la page qui fonctionne ?
Afin que je puisse comparer les deux et essayer de voir ou sa cloche.
Re: Scriptaculous dans PHP
Posté : 06 oct. 2011, 01:20
par Mousbet
Ok, du coup j'ai enlevé mon bout de Scriptaculous m'étant dit que je verrai ça demain. Donc, sans le petit message, dans le navigateur ça donne ça: (j'ai fait des légères modifs entre temps)
<!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" lang="fr">
<head>
<script type="text/javascript" src="http://script.aculo.us/prototype.js"></script>
<script type="text/javascript" src="http://script.aculo.us/scriptaculous.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<meta http-equiv="pics-label" content="image/x-icon"; URL="http://djiimusic.free.fr/img/favicon.ico" />
<link rel="stylesheet" href="../style.css" type="text/css" media="all" />
<title>Djii's Music</title>
</head>
<body>
<div id="smallcontainer">
<div class="editdiv">
<p class="edittitles"><b>Edit</b> something!</p>
<form id="formedit" name="formedit" method="post" action="">
Artiste: <input name="edit-artiste" type="text" class="input-text" value="The Ramones"/><br />
Album: <input name="edit-album" type="text" class="input-text" value="The Ramones"/><br />
Annee: <input name="edit-annee" type="text" class="input-text" value="1976"/><br />
Genre: <input name="edit-genre" type="text" class="input-text" value="Punk"/><br />
Pays: <input name="edit-pays" type="text" class="input-text" value="USA"/><br />
Label: <input name="edit-label" type="text" class="input-text" value="Sire"/><br />
Support: <select name="edit-support" class="input-text" size="1">
<option value="CD">CD</option>
<option value="MP3">MP3</option>
<option value="10">10</option>
</select>
Rank: <input name="edit-level" size="3" maxlength="1" type="text" class="input-text" value="3"/><br />
<input class="bouton" type="submit" value="Modifier" name="modifier" />
</form><div id="slidedown2" style="display:none;">
<p>Modifications enregistrées</p>
</div>
</div>
<div class="editdiv">
<p class="edittitles" ><b>Delete</b> something!</p>
<a href="#" onclick="Effect.SlideDown('slidedown'); return false;"><input class="bouton-red" type="submit" value="Supprimer cet album" /></a>
<div id="slidedown" style="display:none;">
<div>
<a href="../index.php?id=477" class="deleteitem">Confirmer</a><span> -</span>
<a href="#" class="deleteitem" onclick="$('slidedown').hide(); return false;">Annuler</a>
</div>
</div>
</div>
<div class="editdiv">
<p class="edittitles" ><b>Cancel</b> something!</p>
<a href="../index.php"><input class="bouton-green" type="submit" value="Retour à la base de données" /></a>
</div>
</body>
</html>
et le code obtenu si j'ajoute le Scriptaculous comme tu me l'as conseillé (où la requête de modif ne s'applique pas)
<!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" lang="fr">
<head>
<script type="text/javascript" src="http://script.aculo.us/prototype.js"></script>
<script type="text/javascript" src="http://script.aculo.us/scriptaculous.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<meta http-equiv="pics-label" content="image/x-icon"; URL="http://djiimusic.free.fr/img/favicon.ico" />
<link rel="stylesheet" href="../style.css" type="text/css" media="all" />
<title>Djii's Music</title>
</head>
<body>
<div id="smallcontainer">
<div class="editdiv">
<p class="edittitles"><b>Edit</b> something!</p>
<form id="formedit" name="formedit" method="post" action="">
Artiste: <input name="edit-artiste" type="text" class="input-text" value="The Ramones"/><br />
Album: <input name="edit-album" type="text" class="input-text" value="The Ramones"/><br />
Annee: <input name="edit-annee" type="text" class="input-text" value="1976"/><br />
Genre: <input name="edit-genre" type="text" class="input-text" value="Punk"/><br />
Pays: <input name="edit-pays" type="text" class="input-text" value="USA"/><br />
Label: <input name="edit-label" type="text" class="input-text" value="Sire"/><br />
Support: <select name="edit-support" class="input-text" size="1">
<option value="CD">CD</option>
<option value="MP3">MP3</option>
<option value="10">10</option>
</select>
Rank: <select name="edit-level" class="input-text" size="1">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select><br /><input class="bouton" type="submit" value="Modifier" name="modifier" onclick="Effect.SlideDown('slidedown2'); return false;" />
</form><div id="slidedown2" style="display:none;">
<p>Modifications enregistrées</p>
</div>
</div>
<div class="editdiv">
<p class="edittitles" ><b>Delete</b> something!</p>
<a href="#" onclick="Effect.SlideDown('slidedown'); return false;"><input class="bouton-red" type="submit" value="Supprimer cet album" /></a>
<div id="slidedown" style="display:none;">
<div>
<a href="../index.php?id=477" class="deleteitem">Confirmer</a><span> -</span>
<a href="#" class="deleteitem" onclick="$('slidedown').hide(); return false;">Annuler</a>
</div>
</div>
</div>
<div class="editdiv">
<p class="edittitles" ><b>Cancel</b> something!</p>
<a href="../index.php"><input class="bouton-green" type="submit" value="Retour à la base de données" /></a>
</div>
</body>
</html>
C'est sympa de ta part de prendre le temps de me répondre

J'ai les yeux qui piquent, je repasserai demain