2011-04-04 3 views
-2
succès

pastebin du script php:Redirect après forme

http://pastebin.com/b43cZjLQ

// Form success 
     // Remove the form element form the dom 
     if($form_success){ 

      // Hide the form 
      $form = $dom->getElementsByTagName('form')->item(0); 
      $form->setAttribute("style", "display: none"); 

      // Callbacks 
      foreach($this->_callbacks as $data){ 
       if(is_callable($data['callback'])){ 
        $result = call_user_func($data['callback'], $_POST, $data['config']); 
        $hide_id = $result ? self::ERROR_MESSAGE_ID : self::SUCCESS_MESSAGE_ID; 
        $this->hideIdElement($dom, $hide_id); 
       }else{ 
        trigger_error("Form handler is not callable", E_USER_ERROR); 
       } 
      } 

     } 

    }else{ 
     $this->hideIdElement($dom, self::SUCCESS_MESSAGE_ID); 
     $this->hideIdElement($dom, self::ERROR_MESSAGE_ID);  
    } 

    return str_replace(array( '<?xml version="1.0" standalone="yes"?>', 
           '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">', 
           '<html><body>', 
           '</body></html>'), '',$dom->saveHTML()); 

} 

Ce que je voudrais faire avec ce script est à la page de redirection (success.html) sur le succès de la soumission du formulaire. Je suis assez nouveau pour PHP et j'apprécierais toute aide que vous pourriez offrir.

Merci d'avoir pris le temps de regarder ceci, c'est grandement apprécié.

EDIT: LOL Désolé pour le premier DUMPAGE DE CODE GIANT! Fixé.

+1

saint lol qui est beaucoup de code ...! Pour la redirection, utilisez 'header()' http://php.net/manual/fr/function.header.php – kjy112

+1

Embaucher un professionnel pour faire le travail, si vous allez juste jeter beaucoup de code et nous faire comprendre en dehors. Je veux dire, si vous en saviez un peu plus sur le sujet, vous auriez probablement réduit le code aux parties significatives. –

+0

Désolé pour le vidage de code, ne faisait pas totalement attention à ce que j'ai sélectionné haha. Corrigé et collé les bonnes parties. – wilwaldon

Répondre

1

Essayez

if(!empty($_POST)) { 
    header("Location: success.html") ; exit ; 
} 

Et oui, c'est un peu trop beaucoup de code à lire, juste montrer la partie où votre post action est dirigée vers

+0

Mise à jour du code pour refléter le succès . Merci! – wilwaldon

1

Utilisation de la fonction header, vous pouvez rediriger l'utilisateur vers toute autre page.

Exemple:

header('location:success.html'); 
die(); 

Docs: http://php.net/manual/en/function.header.php

Une commune "gotchya" avec header - assurez-vous qu'aucune autre partie de votre script a eu une sortie. Toute instruction echo ou print ou toute sortie d'erreur (avis, avertissements, etc.) peut entraîner l'échec de votre instruction header.

+0

Merci Chris! J'ai du mal à trouver où je devrais mettre ce code. Avez-vous une chance de me diriger dans la bonne direction? J'essaie d'apprendre en faisant cela mais parfois j'ai besoin d'un coup de main. – wilwaldon

1
echo "<script>location.href='success.html';</script>"; 

:)