IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

php javascript probleme history back


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Points : 89
    Points
    89
    Par défaut php javascript probleme history back
    Bonjour,


    voila j ai un souci bizarre j ai un formulaire qui me permet de modifier ou supprimer un pseudo , je choisis dans une liste déroulante modifier ou supprimer et selon le choix le script suivant s exécute pour la suppression tout est ok

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    if ($login=='Modifier un pseudo') {
     
    //la j affiche un tableau en input avec le visiteur puisse modifier le pseudo
    $sql = "SELECT pseudo FROM login where pseudo='".$pseudo."'";
    $req = mysql_query($sql) or die( mysql_error() ) ;
    $total = mysql_num_rows($req);
    {
    echo '<form method="post" action="modif_login.php">';
    echo '<table>'."\n";
    echo '<tr>';
    echo '<th>pseudo</th>';
    while($row = mysql_fetch_array($req))
    {
    echo '<tr>';
    echo '<td><input type="text" name="nom" value="'.$row["pseudo"].'"/></td>';
    echo '</tr>'."\n";
    }
    echo '</table>'."\n";
    echo '<br><center><input type="submit" name="ok" value="Modifier"/></center>';
     
    echo '</form>';
    }
    }
    ca me renvoi vers un autre script qui fait l update et m envoi un message si le format du pseudo n est pas valide :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    $preg=(preg_match("#^.{15}$#", $pseudo)) ;
    if ($preg)
    {
    $sql2= "UPDATE login SET pseudo='".$_POST['pseudo']."',
    WHERE pseudo='".$pseudo2."'";
    $req2= mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());
    ?>
    <div id="ajout"><br/>
    <?php
    if($req2)
    {
    ?>
    <center><h4><?php echo 'login modifié'; ?></center></h4><br /><?php
    $sql = "SELECT pseudo FROM login where pseudo='".$pseudo."'";
    $req = mysql_query($sql) or die( mysql_error() ) ;
    $total = mysql_num_rows($req);
    {
    echo '<center><table>'."\n";
    echo '<tr >';
    echo '<td>pseudo</td>';
    echo '</tr>'."\n";
    while($row = mysql_fetch_array($req))
    {
    echo '<tr>';
    echo '<td>'.$row["pseudo"].'</td>';
    echo '</tr>'."\n";
    }
    echo '</table></center>'."\n";
    }
    }
    else
    {
    echo 'no update';
    }
    }
    else
    {
    echo "<script language=\"JavaScript\">\n";
    echo "alert($pseudo);";
    echo 'window.history.back();';
    echo "</script>";
    }
    mon souci est que quand le format du pseudo n est pas valide il me renvoie bien vers la page précédente mais sans les informations il me laisse un tableau vide le .$row["pseudo"] ne s affiche pas je ne vois pas pourquoi

  2. #2
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Points : 89
    Points
    89
    Par défaut
    Pour info ca marche en local avec wamp et movamp mais pas ovh ...

  3. #3
    Membre du Club
    Profil pro
    Développeur multimédia
    Inscrit en
    Mai 2005
    Messages
    57
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Mai 2005
    Messages : 57
    Points : 67
    Points
    67
    Par défaut
    Bonjour

    A la place de Pourquoi ne pas utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.location = 'adresse_du_script.php?pseudo=$pseudo2';
    Où $pseudo2 est l'ancien pseudo.

  4. #4
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Points : 89
    Points
    89
    Par défaut
    Merci pour ta réponse mais avec cette option ca me renvoie vers une page avec juste mon header mon menu et mon footer alors par contre c'est bizarre j ai modifier mon preg match comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $preg=(preg_match("#^[0-9]{15}$#", $ss)) ;
    ca fonctionne il n entre rien dans la base de plus de 15 caractères qui ne soit pas un chiffre.

    Mais ce qui est bizarre pour mon history back c est que si je lui met une lettre en 16 eme caractère j affiche l alert je clique sur ok je fais retour il m affiche bien mon tableau avec mes row

    si je modifie un chiffre par une lettre ou si je met un lettre en premier caractère mes row ne s affiche c est a m en tirer les cheveux merci de votre aide

  5. #5
    Membre actif Avatar de zebulon94
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 169
    Points : 212
    Points
    212
    Par défaut
    Bonjour,

    Dans le code que tu as mis, il y a 1'{ }' ou je ne vois pas à quoi elle font reférence ... je te les met en gras :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    if ($login=='Modifier un pseudo') {
     
    //la j affiche un tableau en input avec le visiteur puisse modifier le pseudo
    $sql = "SELECT pseudo FROM login where pseudo='".$pseudo."'";
    $req = mysql_query($sql) or die( mysql_error() ) ;
    $total = mysql_num_rows($req);
    {
    echo '<form method="post" action="modif_login.php">';
    echo '<table>'."\n";
    echo '<tr>';
    echo '<th>pseudo</th>';
    while($row = mysql_fetch_array($req))
    {
    echo '<tr>';
    echo '<td><input type="text" name="nom" value="'.$row["pseudo"].'"/></td>';
    echo '</tr>'."\n";
    }
    echo '</table>'."\n";
    echo '<br><center><input type="submit" name="ok" value="Modifier"/></center>';
     
    echo '</form>';
    }
    }
    D.

  6. #6
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Points : 89
    Points
    89
    Par défaut
    effectivement ils n ont rien à faire là j ai modifié mais ca ne résout pas mon problème

  7. #7
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Points : 89
    Points
    89
    Par défaut
    En fait j ai compris le souci mais je ne vois pas comment le résoudre

    j ai mon fichier 1 qui est mon formulaire le visiteur rentre son pseudo et ses informations s affiche donc j ai un select du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from login where pseudo='".$pseudo."'";
    le visiteur modifies ses données grace a des input en POST

    et arrive sur le fichier 2 pour un update avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $pseudo2=$pseudo; //je donne à pseudo la valeur rentrer par le visiteur
    $pseudo=$_POST['pseudo']; //je donne à pseudo la valeur modifier par le visiteur
    je fais l update :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    "UPDATE login SET nom='".$_POST['nom']."', prenom='".$_POST['prenom']."', naissance='".$_POST['naissance']."', pseudo='".$pseudo."'
    WHERE pseudo='".$pseudo2."'";
    j affiche mon resultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT * FROM login where pseudo='".$pseudo."'";
    ca marche nickel par contre quand je reviens en arrière sur mon fichier 1 il a gardé en $pseudo la valeur rentrer par le visiteur et non modifier du coup vu que il y a eu un update il ne peut pas m afficher mon formulaire comment faire en sorte que mon fichier1 récupère le $pseudo2 ?

    Merci

  8. #8
    Membre actif Avatar de zebulon94
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 169
    Points : 212
    Points
    212
    Par défaut
    Une solution est de le charger dans un tableau puis de modifier la valeur souhaité dans ce tableau et enfin le copié entierement dans ton fichier text. Par contre point de vue perf....

    d.

  9. #9
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Points : 89
    Points
    89
    Par défaut
    j ai modifie mes variables et ca fonctionne merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP & Javascript] probleme !!
    Par marie4449 dans le forum Langage
    Réponses: 8
    Dernier message: 29/05/2006, 16h35
  2. [Javascript] Utilisation history.back()
    Par temperature dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 05/05/2006, 16h03
  3. [Javascript] Probleme avec history.back()
    Par lemagicien dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/04/2006, 12h02
  4. Réponses: 5
    Dernier message: 12/01/2006, 15h47
  5. [PHP-JS] Probleme de javascript dans un code php
    Par stomerfull dans le forum Langage
    Réponses: 20
    Dernier message: 12/01/2006, 13h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo